[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
если это бит прерывания? Приняли, сходили по прерыванию, вышли. И ни каких опросов - всё аппаратно. При работе у UART-ом вообще не припомню проблем за исключением BRGH в PIC16c7(?) - каких-то.
По Вашей программе выходит, что вы раз в 300мс выключаете приемник UARTa? А если в зто время идет прием? OERR и FERR надо опрашивать и
при необходимости считать RCREG и переинициализировать UART.
Еще. Избавляйтесь от порочной (ИМХО) практики работы с битами по номеру. Напишите PIR1,RCIF вместо PIR1,05H и все Вас поймут, да и листинг через год будет для Вас же понятнее. Неужели Вы хотите помнить по номеру все биты в PIC-ах, AVR-ах и пр?
Напишите, например,
#define FLAG_DELAY FLAG,6 и работайте с ним bsf FLAG_DELAY. Почувствуйте разницу:)
E-mail: info@telesys.ru