Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
enum {
aaa = 0x12345678,
bbb = 0x87654321
};
xmit_byte(aaa & 0xFF);
xmit_byte(aaa >> 8);
xmit_byte(aaa >> 16);
На те строки, где я передаю второй и третий байты компилер выдает сообщение:
warning: large integer implicitly truncated to unsigned type
Как я понял, дело а том, что размерность элемента enum - интовая, а int в GCC для AVR - двухбайтный.
Как быть? Заменить enum дефайнами - не хочу. Может быть есть способ сказать GCC, что размерность элемента enum - long?