реклама на сайте
подробности

 
 
> вывод через printf переменной unsigned long int, printf
messenger
сообщение Jan 9 2013, 14:01
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 361
Регистрация: 23-03-07
Пользователь №: 26 457



Здравствуйте уважаемые пользователи форума!
Столкунлся с проблемой и прошу помощи.
Конроллер ATmega16? среда CVAVR

обявляю прерменную 32 бита
unsigned long int REG_0=0b0...........................................01 (32 бита)
вывожу через printf
printf("REG0= %u ",REG_0);

но явно пропадают первые два старших байта, не могу разобраться как быть.

и насколько правильно выделять из unsigned long int 4 байта типа unsigned char

bait_1=REG_0 & 0xFF;
bait_2=(REG_0>>=8) & 0xFF;
bait_3=(REG_0>>=8) & 0xFF;
bait_4=(REG_0>>=8) & 0xFF;

Спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Misile_Inc
сообщение Feb 20 2013, 11:18
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 174
Регистрация: 30-08-11
Из: Санкт-Петербург
Пользователь №: 66 926



Не только мисры. Вот ссылки на пункты стандартов, не рекомендующие использование функций с неограниченным колличеством аргументов.
Related standards model rules
CAST : 5.1.7
CERT-C : DCL10-C, DCL11-C
CERT-J : DCL02-J
CMSE : 1.1.8
CWE : 628
DERA : 69
EADS-C++ : 40
FSB582-C : 3.6.5
GJB : 4.1.1.8
HIC++ : 11.6
HIS : 69
JPL : 8
JSF++ AV : 108
LMTCP : 203
MISRA-AC : 16.1
MISRA-C++:2008 : 8-4-1
MISRA-C:1998 : 69
MISRA-C:2004 : 16.1
SEC-C : R2.8.2

Сообщение отредактировал Misile_Inc - Feb 20 2013, 11:28
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 02:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016