вот, например,
Код
...
static uint8_t flag = 0;
...
if ( hasinput () )
{
data [num] = getchar();
if (flag)
{
if( data [num] == 0x0A)
{
data [num - 1] = 0x00;
num = 0;
flag = 0;
}
else
num++;
}
if( data [num] == 0x0A)
{
data [num] = 0;
flag = 1;
}
}
Задача стояла такая:
модем на запрос АТ команды выдает ответ. Сначала пишет саму команду, потом ответ. В ASCII это выглядит так:
41 54 2B 43 50 42 53 3D 3F 0D 0D 0A 45 52 52 4F 52 0D 0A 00
A T + C P B S = ? CR CR LF E R R O R CR LF
Моя задача была сложить в массив data[] все после символа 0x0A, т.е. ERROR
итог, код рабочий. Но хороший ли тон так писать- через флаги.
Сообщение отредактировал Метценгерштейн - Jan 25 2011, 14:25