[an error occurred while processing this directive]
Это элементарно, Ватсон!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено DaoLi 06 августа 2002 г. 17:36
В ответ на: А мона ещё вопрос,как к профессионалу? отправлено Chanel 06 августа 2002 г. 15:58

Вставляем шеснадцатеричный код кавычек в виде
sio_txline( "\x22THIS IS SAMPLE TEXT\x22" ).
По поводу сдвигов для доступа к байтам в длинных переменных.. сдвигать или накладывать маски исключительная головная боль компилятора. Если он сделан правильно всё будет оптимально с точки зрения кода.

Можно использовать объединение для доступа к байтам двойного слова:

/**/
typedef union
{
dword tdw;
byte tb[4];
} dw4b;

dw4b my_long;
byte btemp1, btemp2, btemp3, btemp4;

my_long.tdw = 0x12345678L;
btemp1 = my_long.tb[0]; //0x78
btemp2 = my_long.tb[1]; //0x56
btemp3 = my_long.tb[2]; //0x34
btemp4 = my_long.tb[3]; //0x12
/**/

Должно работать. Порядок байтов в слове не описан в стандарте и может быть как прямым так и обратным в зависимости от архитектуры.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru