Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ:

Отправлено Slog 24 марта 2008 г. 18:19
В ответ на: дык вроде putchar выводит символы ansi , мне нужно непосредственно значение переменной в hex .......жирно выходит 1байт передаётся 2 байтами отправлено Aleksey75 24 марта 2008 г. 17:18


void long_2_hex(unsigned long l, unsigned char *c)

union LC {
unsigned long ul;
unsigned char uc[4];
} lc;

lc.ul = l;

*c = lc.uc[0] + '0';
*(c+1) = lc.uc[1] + '0';

}


Можно и другие способы придумать. Через printf это выглядело бы примерно так:

printf("%02x%02x", (l >> 24) & 0xff, (l >> 18) & 0xff);


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сколько миллиампер в одном ампере ?:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru