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

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

Отправлено Lexandro 04 октября 2005 г. 11:51
В ответ на: Что-то больно много циклов (+): отправлено argus98 04 октября 2005 г. 11:29

Delay(100);
ucTXBuffer[ucTXWriteIndex++] = byte;// load byte to buffer and inc index

ucTXWriteIndex &= TXBUFSIZE-1; // adjust index to borders of buffer

IE2 &= ~UTXIE1; // Disable USART1 TX interrupt
ucTXCharCount++; // new char, inc count
IE2 |= UTXIE1; // Enable USART1 TX interrupt
if( bTXBufferEmpty && ucTXCharCount ) // buffer had been empty
{
bTXBufferEmpty = !BUFFER_EMPTY; // reset empty flag
TXBUF1 = ucTXBuffer[ucTXReadIndex++]; // load tx register, inc index

ucTXReadIndex &= TXBUFSIZE-1; // adjust index
ucTXCharCount--; // char sent, dec count
}

Дальше отсылка идет по прерыванию.
Странная задержка. Все дело в ней. Зачем-то она там нужна. Без нее кажется, что возникают глюки с буфером. Сейчас пытаюсь разобраться.

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

Ответы



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

E-mail: info@telesys.ru