(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено zero8zero 26 апреля 2005 г. 13:02
В ответ на: avr. как принять несколько байтов в один присест ? отправлено nestandart@rs232 26 апреля 2005 г. 12:55

Несколько байт в один присест принимать - надо циклический буфер типа


#define RXBUFLENGTH 128
unsigned char RxBuffer[RXBUFLENGTH];
unsigned char RxBufWritePoint = 0;
unsigned char RxBufReadPoint = 0;

#pragma vector=USART_RXC_vect
__interrupt void USART_RXC_interrupt(void)
{
RxBuffer[RxBufWritePoint]=UDR;
if(RxBufWritePoint == RXBUFLENGTH-1) RxBufWritePoint=0;
else RxBufWritePoint++;
}

А чтобы знать, что будут еще байты, надо сообщения на пакеты резать, SLIP'ом, например.

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

Ответы



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

E-mail: info@telesys.ru