Помогите любым примером работы по прерываниям с UART ADuC845 или подобного МК.
Вот в таком виде обработчик прерывания работает, при передаче через терминалку символа f назад возвращается строка "fmessage".
При передаче других символов, назад возвращаются эти же символы. Т.е. все вроде работает правильно.
void iUART () interrupt 4
{
if (RI == 1)
{
RI = 0;
uart_data = SBUF;
SBUF=uart_data;
if (uart_data=='f') printf("message");
}
else
TI=0;
}
Но мне не нужно тут же назад возвращать все что принимаю, я хочу в дальнейшем сложить принятые символы в буфер и после получения признака окончания посылки разобрать их. Когда я убираю строку
SBUF=uart_data;
т.е. не передаю символ обратно сразу после приема, все перестает работать, ничего назад не передается...