Цитата(andron86 @ Mar 1 2006, 17:43)

Цитата(Shamil_Yusupov @ Mar 1 2006, 09:20)

Для того чтобы твой код работал,
cmd надо объявить как short (т.е. двухбайтовую знаковую переменную)
Да нет Шамиль, мне кажется, что это одно и тоже! Ведь состояние сом порта в режиме ожидания 0xff т.е -1!! Даже если я объявлю cmd как short, то прерывание цикла будет при 0xffff -т.е. одно и тоже.
Да, каюсь, не посмотрел описание функции getchar() в Keil.
Я решил, что эта функция описана как int,
и возвращает -1 при отсутствии принятых байтов,
поэтому в цикле while ты ожидаешь поступления байта.
Но судя по описанию эта функция сама дожидается
приема очередного байта.
Зачем же тогда у тебя стоит цикл while ???
Цитата(andron86 @ Mar 1 2006, 17:43)

Выход я нашел - меня спасло то, что 0xff находится не в начале телеграммы! То есть:
Да это не выход, а затычка.