Строка символов в виде байтов.(Срочно, пом...
Blondinka 14 Sep 2007
Пишем программу управления прибором через СОМ-порт.
Данные принимаем в виде строки из данных разных типов(Float,unsigned int, unsigned long, unsigned char). Как правильнее и проще представить эту строку в виде последовательности байтов или бит для её дальнейшей обработки. Прибор регулярно посылает данные о своём состоянии(20-30 параметров) разных типов в виде длинной строки символов.
Вот пример строки: ?y?yI.?.....?O.A¦?D<4?7;Ao.Bq=.B??.B?e@B??gB®GXB.. *A..*A?u??Ay3Axg&A+?8A¤?O?.....................I.. ,
Где первые 4 байта заголовок, 5-й идентификатор, в следующих 2 байтах передаётся 16 параметров(каждый бит да-нет),далее числа разных типов в перемешку.
Правила построения строки знаем.
Проблема в том, как всё это разобрать по переменным(каждому параметру прибора своя переменная).
Данные принимаем в виде строки из данных разных типов(Float,unsigned int, unsigned long, unsigned char). Как правильнее и проще представить эту строку в виде последовательности байтов или бит для её дальнейшей обработки. Прибор регулярно посылает данные о своём состоянии(20-30 параметров) разных типов в виде длинной строки символов.
Вот пример строки: ?y?yI.?.....?O.A¦?D<4?7;Ao.Bq=.B??.B?e@B??gB®GXB.. *A..*A?u??Ay3Axg&A+?8A¤?O?.....................I.. ,
Где первые 4 байта заголовок, 5-й идентификатор, в следующих 2 байтах передаётся 16 параметров(каждый бит да-нет),далее числа разных типов в перемешку.
Правила построения строки знаем.
Проблема в том, как всё это разобрать по переменным(каждому параметру прибора своя переменная).
s0L 14 Sep 2007
элементарно, опиши структуру
struct DeviceData
{
int par1;
char par2;
и т.д.
};
и не забудь сказать компилятору чтоб не юзал выравнивание на этой структуре..
а потом или кастинг указателя или копирование данных или сразу в структуру ресив делать.
struct DeviceData
{
int par1;
char par2;
и т.д.
};
и не забудь сказать компилятору чтоб не юзал выравнивание на этой структуре..
а потом или кастинг указателя или копирование данных или сразу в структуру ресив делать.