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

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

Отправлено Сергей Борщ 10 июня 2004 г. 10:04
В ответ на: (+) отправлено MayName 10 июня 2004 г. 09:49

только надо функцию putchar переписать на работу с UART:


#define TxBufferSize 128
static unsigned char TxBuffer[TxBufferSize],TxHead = 0,TxTail = 0;

#pragma vector = USART_UDRE_vect
__interrupt void Tx232Handler(void) {
UDR = TxBuffer[TxTail++];
TxTail &= TxBufferSize-1;
if(TxTail == TxHead) UCSRB &= ~(1<}

int putchar (int Byte) {
unsigned char Tmp;
do {
Tmp = TxHead+1;
Tmp &= TxBufferSize-1;
} while(Tmp == TxTail);
TxBuffer[TxHead] = Byte;
TxHead = Tmp;
UCSRB |= (1< return (1);
}


или так (без прерываний):

int putchar (int Byte) {
while (!(UCSRA & TXC));
UDR = Byte;
}


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

Ответы



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

E-mail: info@telesys.ru