Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Разложить число на символы ASCII

Непрочитано 16.02.2011, 16:39  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Разложить число на символы ASCII

Добрый всем день.
Вобшем уже поднимал эту тему, нужно еще повъезжать.
Есть 1 масив объявленый глобально.
unsigned char sym_out1[4];
Есть стандартная таблица ASCII с набором различных символов количеством 127 с адресами в таблице 0x00 до 0x7F.
Каким доступным способом можно в масив писать различные символьные, цифровые, а также смешаные значения так чтоб каждый знак или символ писался в элемент масива в виде адреса таблицы ASCII.
В Code Vision AVR.
Реклама:
7Fantomas7 вне форума  
Непрочитано 16.02.2011, 16:41  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

Ерунда какая-то... А что, адреса таблицы не совпадают с кодами символов?
testerplus вне форума  
Непрочитано 16.02.2011, 17:05  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

На сайте радиокота есть библиотечка для работы с экранами GLCD.
Посмотрите файлик text.c,может то что надо?
Vov123 вне форума  
Непрочитано 16.02.2011, 17:49  
aleksey_gregul
Временная регистрация
 
Регистрация: 24.09.2010
Сообщений: 60
Сказал спасибо: 1
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
aleksey_gregul на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

Очень трудно вьехать в Ваш вопрос, в отличие от поднятой темы.
Самый простой, "лобовой", но не самый эффективный способ:

void inttostr(unsigned int value)
{
digit0=value%10;
value=(value-digit0)/10;
digit1=value%10;
value=(value-digit1)/10;
digit2=value%10;
value=(value-digit2)/10;
digit3=value%10;
digit4=((value-digit3)/10)%10+0x30;
digit0=digit0+0x30;
digit1=digit1+0x30;
digit2=digit2+0x30;
digit3=digit3+0x30;
}

Это Вам нужно?
aleksey_gregul вне форума  
Непрочитано 16.02.2011, 20:55  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

testerplus,
Цитата:
Ерунда какая-то...
Я вообщето не просил коментировать свои действия. И помоему не на один Ваш вопрос или утверждение не высказывался подобным образом.
Цитата:
А что, адреса таблицы не совпадают с кодами символов?
А если и совпадают то и что?
Vov123,
Цитата:
На сайте радиокота есть библиотечка для работы с экранами GLCD.
Не стоит вопрос работы с экраном.
aleksey_gregul,
Цитата:
Самый простой, "лобовой",
Ну вообщето решение у меня на худой конец есть, но оно мне не сильно нравится и я не уверен что нет более адекватных решений.
Цитата:
Очень трудно вьехать в Ваш вопрос,
Ну нету тут ничего трудного. Попробую пояснить просто подробнее.
На самом деле масивов больше так как и переменных которые нужно раздолбить на составляющие я просто чтоб проще было ограничился одним масивом и одной переменной. И впринципе есть резон так и оставить.
Вопрос в следующем например:
намерили там чегото АЦП 123
как красивенько записать в масив эту цыфру чтоб получилось примерно так
sym_out1[0]==0х31
sym_out1[1]==0х32
sym_out1[2]==0х33
например: значение ADCSRA (как то записать в) sym_out1[]
Или есть слово vasy. Как его красиво так сделать
if (что то там произошло) {записать vasy в sym_out1[]}
При этом элементы масива должны стать такими:
sym_out1[0]==0х76
sym_out1[1]==0х61
sym_out1[2]==0х73
sym_out1[3]==0х79
Таким образом мы разлагаем хоть число, хоть символьную строку на символы.
7Fantomas7 вне форума  
Непрочитано 16.02.2011, 21:03  
baiderin
Почётный гражданин KAZUS.RUN
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,739
Сказал спасибо: 2,487
Сказали Спасибо 897 раз(а) в 584 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

Проверяем, что это:цифра или символ.И, взависимости от этого, добавляем код 0 или первой буквы.
baiderin вне форума  
Непрочитано 16.02.2011, 21:07  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

sprintf(&sym_out, "АЦП = %d", ADC_VALUE);
realid вне форума  
Непрочитано 16.02.2011, 21:23  
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

Сообщение от 7Fantomas7 Посмотреть сообщение
И помоему не на один Ваш вопрос или утверждение не высказывался подобным образом.
Ну, выскажитесь.

Цитата:
А если и совпадают то и что?
...
При этом элементы масива должны стать такими:
sym_out1[0]==0х76
sym_out1[1]==0х61
sym_out1[2]==0х73
sym_out1[3]==0х79
sym_out1[0]== 'v'
sym_out1[1]== 'a'
sym_out1[2]== 's'
sym_out1[3]== 'y'
testerplus вне форума  
Непрочитано 16.02.2011, 22:14  
7Fantomas7
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

realid,
Оно конечно спасибо но примерно такое решение у меня в запасе и имеется.
Дело в том что мне както объясняли что есть чтото стандартное толи библиотечная функция толи еще что. Что преобразует хоть числовое, хоть символьное, хоть смешаное значение в символьное и пишет ареса из таблицы в масив.
baiderin,
Цитата:
Проверяем, что это:цифра или символ.И, взависимости от этого, добавляем код 0 или первой буквы.
Не совсем понял что Вы хотели сказать если можно подробней.
7Fantomas7 вне форума  
Непрочитано 16.02.2011, 23:50  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Разложить число на символы ASCII

Сообщение от 7Fantomas7 Посмотреть сообщение
есть чтото стандартное толи библиотечная функция толи еще что. Что преобразует хоть числовое, хоть символьное, хоть смешаное значение в символьное и пишет ареса из таблицы в масив.
Она приведена выше в 7 сообщении. Это sprintf
kison вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подбираемся к DX Kabron Микроконтроллеры, АЦП, память и т.д 455 27.10.2014 22:41
Как в CVAVR вывести 3х-значное число на порты? code-by Микроконтроллеры, АЦП, память и т.д 26 23.03.2010 23:23
Число витков трансформатора для развязки звуковых частот Laksus Аудиотехника 6 07.07.2009 15:49


Часовой пояс GMT +4, время: 14:36.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.