[an error occurred while processing this directive]
сделать union (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено DASM 23 июля 2006 г. 01:26
В ответ на: да нет CRC может быть и 8 бит и 16 бит, это при ASCII режиме высчитывается LRC которое и есть 16 бит у меня проблема следущего характера отправлено dred73 23 июля 2006 г. 01:12


typedef union
{
struct tag_MODBUS_PCKT
{
char addr;
char foo;
char data[MAX_DATA_LEN];
char crc;
char currentPacketLen;
} pckt_flds;
char data [sizeof (tag_MODBUS_PCKT)];

} MODBUS_PCKT;

MODBUS_PCKT pckt;
Для работы используем
if (pckt.pckt_flds.foo == FOO_PUSSY_CAT)
say_meow();
для подсчета crc
for (int i = 0; i < pckt.pckt_flds.currentPacketLen)
crc = AddCrc (pckt.data[i]);


Идея ясна ?

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание