ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
428651 Топик полностью
Д.ARMоед (30.07.2013 00:41, просмотров: 298) ответил Скрипач на А можно пример? Как будет выглядеть с циклами Дейкстры?
конечно, можно  while (1) { if (GET_NEXT_BYTE) ReadByte(ch); else if ((len <= MaxLength) && GET_PACKET) ReadPacket(len); else if (ValidChecksum(data, len, ch) && GET_CHECKSUM) Dispatch(data, len); else Log_Step(); } static int receive_counter; void ReadPacket(int num2read) { switch READ_PACKET_STATE { case 0: receive_counter=0; GET_NEXT_BYTE = 1; READ_PACKET_STATE = 1; break; case 1: data[receive_counter] = ch; while (receive_counter < len) { receive_counter++; GET_NEXT_BYTE = 1; return; } READ_PACKET_STATE = 2; break; case 2: GET_PACKET = 0; GET_CHECKSUM = 1; break; default: break; } }