Прошу помощи по команде fgetc
Господа, прошу вашей помощи по следующему вопросу. Пишу (или пытаюсь, опыта крайне мало) программу на C (PICC, PIC16F876). Столкнулся со следующей проблемой. В ходе выполнения программы приодится считывать данные с rs232:
#use rs232(baud=115200, xmit=PIN_C6, rcv=PIN_C7, stream=PDA)
.
.
cmd = fgetc(PDA);
В файле .lst посл. строка отображается как:
cmd = fgetc(PDA);
007B: BTFSS 0C.5
007C: GOTO 07B
007D: MOVF 1A,W
007E: MOVWF 21
Вычитал, что команда fgetc ожидает приема символа из USART. Мне же необходимо, чтобы в случае отсутствия символа команда не ожидала, а шла дальше.
Отсюда вижу 2 решения проблемы - 1)Может быть есть какая-то другая комада, вместо fgetc, которую я не знаю, не ожидающая сигнала, а идущая дальше в случае его отсутствия? 2) Можно ли данные 4 строчки asm кода перенести в PICC, чтобы исправить там GOTO? (с помощью #asm/#endasm у меня не получилось) Не подскажете как?
Буду благодарен любым ответам.
|