[an error occurred while processing this directive]
Да вроде нет, я URXBUF читаю только когда флаг выставиться URXIFG
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено MemoryTest 27 января 2003 г. 11:31
В ответ на: BRK is reset by reading the UxRXBUF. отправлено AD 27 января 2003 г. 10:30

//***************************************************************
//
// Recive byte from UART0
//
int inbyte(unsigned int time_out)

{

unsigned int i=0;

while(i
{

_NOP();
_NOP();
_NOP();
_NOP();
_NOP();
_NOP();

if(URCTL0 & RXERR) // check for error
{


if (URCTL0&BRK) {

URCTL0 &= ~(FE+PE+OE+BRK+RXERR);
return -3; }

URCTL0 &= ~(FE+PE+OE+BRK+RXERR);
return -1; // recive error

}

if(IFG1 & URXIFG0) // check buffer have data?

{ return (int)RXBUF0; // all cool return
// recived byte
}

i++;
}
return -2; // time out !
} // end inbyte();

вот вся процедурка.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru