Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы

printf...

Непрочитано 02.08.2017, 12:30  
raptor37
Прописка
 
Регистрация: 07.08.2005
Сообщений: 155
Сказал спасибо: 71
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
raptor37 на пути к лучшему
По умолчанию printf...

Здравствуйте.
Как правильно вывести информацию из EEPROM.
Есть данные в EEPROM:
...
eeprom char buffer[5]={0x01,0x02,0x03,0x04,0x05};
...
Нужно вывести строкой последовательность 0102030405
Как правильно это сделать?
Может так?
printf("%d%d%d%d%d", buffer[0], buffer[1], buffer[2], buffer[3], buffer[4]);
Спасибо
Реклама:
raptor37 вне форума  
Непрочитано 02.08.2017, 12:39  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: printf...

Сообщение от raptor37 Посмотреть сообщение
Как правильно это сделать?
Правильно - написать свою функцию преобразования ниббла в символ. И "пополубайтно", последовательно...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
raptor37 (02.08.2017)
Непрочитано 02.08.2017, 13:04  
raptor37
Прописка
 
Регистрация: 07.08.2005
Сообщений: 155
Сказал спасибо: 71
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
raptor37 на пути к лучшему
По умолчанию Re: printf...

Сообщение от akegor Посмотреть сообщение
ниббла в символ.
что такое ниббл
raptor37 вне форума  
Непрочитано 02.08.2017, 13:11  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: printf...

Полубайт. .
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
raptor37 (02.08.2017)
Непрочитано 02.08.2017, 13:51  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: printf...

Код:
void ValueToStringHEX_Byte (unsigned char Value, char * String)
{
   const unsigned char HEX_Var[17]={"0123456789ABCDEF"};
   * String++ =   ((Value & 0xF0) ›› 4)[HEX_Var];
   * String   =    (Value & 0x0F)[HEX_Var];
}
Easyrider83 вне форума  
Эти 2 пользователя(ей) сказали Спасибо Easyrider83 за это сообщение:
nml (17.10.2017), raptor37 (02.08.2017)
Непрочитано 07.08.2017, 21:00  
raptor37
Прописка
 
Регистрация: 07.08.2005
Сообщений: 155
Сказал спасибо: 71
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
raptor37 на пути к лучшему
По умолчанию Re: printf...

Подскажите пожалуйста.
Почему так работает:
...
printf("0421044004300431043E04420430043B0020002204 12044504 3E04340020003100220020002000200020");
...
_____________
А вот так не работает:
...
eeprom char buffer_ee[42]={ 0x04,0x21,0x04,0x40,0x04,0x30,0x04,0x31,0x04,0x3E, 0x04,0x42,0x04,0x30,0x04,0x3B,0x00,0x20,0x00,0x22, 0x04,0x12,0x04,0x45,0x04,0x3E,0x04,0x34,0x00,0x20, 0x00,0x31,0x00,0x22,0x00,0x20,0x00,0x20,0x00,0x20, 0x00,0x20};
...
for (cnt = 0; cnt ‹= 41; cnt ++)
{
temp=(buffer_ee[cnt] & 0xF0) ›› 4;
printf("%c", temp);
temp=(buffer_ee[cnt] & 0x0F);
printf("%c", temp);
}

Где ошибка
raptor37 вне форума  
Непрочитано 07.08.2017, 21:27  
dgrishin
Почётный гражданин KAZUS.RUN
 
Регистрация: 12.02.2013
Адрес: На болотах
Сообщений: 1,162
Сказал спасибо: 46
Сказали Спасибо 315 раз(а) в 244 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: printf...

for (cnt = 0; cnt ‹ sizeof(buffer_ee); cnt ++) printf("%d", buffer_ee[cnt]);

Последний раз редактировалось dgrishin; 07.08.2017 в 21:36.
dgrishin вне форума  
Сказали "Спасибо" dgrishin
raptor37 (08.08.2017)
Непрочитано 07.08.2017, 22:37  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: printf...

Сообщение от raptor37 Посмотреть сообщение
Почему
Не работает "меньше или равно". Почему - не разбирался, просто не использую.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
raptor37 (08.08.2017)
Непрочитано 08.08.2017, 12:48  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,282
Сказал спасибо: 11,860
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: printf...

raptor37, а представление при выводе (десятичное/восьмеричное/шестнадцатеричное)? Разметка вывода?
И у printf таки много своих возможностей по организации вывода - и форматирование, и длина,… даже в wiki вполне подробно и вменяемо расписано . И уж коли библиотека таки будет загружена (#include stdio.h), то код уже будет в прошивке и не пользоваться им причин нет.
Лучше описать ситуацию так: есть … нужно … пробовал … минусы … прошу советов.
Тогда есть куда другим думать, да и Ваши возможные ошибки понятны будут .

Например printf ('%*X', sizeof (but) * 2, buf) и шестнадцатеричный дамп buf на выводе.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 08.08.2017, 13:08  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: printf...

Сообщение от mike-y-k Посмотреть сообщение
И уж коли библиотека таки будет загружена (#include stdio.h), то код уже будет в прошивке и не пользоваться им причин нет.
Если функции не используются, то никакой нормальный компилятор не включит ни в код, ни в текст то, что приинклюдили.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32 printf не работает sanstan Embedd С 1 17.01.2013 13:21
Проблема с printf begun Песочница (вопросы новичков) 7 01.12.2012 10:26
Функция printf() - вивод числа 12.459 sergx1300 Микроконтроллеры, АЦП, память и т.д 8 16.09.2010 02:02
Функция printf в cvavr 1.25.8 Mitrar Микроконтроллеры, АЦП, память и т.д 10 01.09.2009 15:30
Как использовать функцию printf для выовода на второй USART igla_85 Микроконтроллеры, АЦП, память и т.д 1 01.06.2009 02:35


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


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