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

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

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

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

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

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

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

 
Опции темы
Непрочитано 02.08.2017, 12:30  
raptor37
Прописка
 
Регистрация: 07.08.2005
Сообщений: 146
Сказал спасибо: 67
Сказали Спасибо 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
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,861
Сказал спасибо: 2,532
Сказали Спасибо 11,773 раз(а) в 5,897 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: printf...

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

Сообщение от akegor Посмотреть сообщение
ниббла в символ.
что такое ниббл
raptor37 вне форума  
Непрочитано 02.08.2017, 13:11  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,861
Сказал спасибо: 2,532
Сказали Спасибо 11,773 раз(а) в 5,897 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: printf...

Полубайт. .
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
raptor37 (02.08.2017)
Непрочитано 02.08.2017, 13:51  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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
Сообщений: 146
Сказал спасибо: 67
Сказали Спасибо 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.RU
 
Регистрация: 12.02.2013
Сообщений: 1,015
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
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
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,861
Сказал спасибо: 2,532
Сказали Спасибо 11,773 раз(а) в 5,897 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: printf...

Сообщение от raptor37 Посмотреть сообщение
Почему
Не работает "меньше или равно". Почему - не разбирался, просто не использую.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
raptor37 (08.08.2017)
Непрочитано 08.08.2017, 12:48  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
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
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,861
Сказал спасибо: 2,532
Сказали Спасибо 11,773 раз(а) в 5,897 сообщении(ях)
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, время: 07:27.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot