[an error occurred while processing this directive]
Кто-нибудь программный UART (только передатчик на 9600, для отладки) для AVR делал. Что-то мой putchar не работает(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено war4one 24 июля 2006 г. 15:15


#define BR9600UC 104
#define TXDELAY 3

int putchar( int data )
{
if (g_currentUsart == UART_0)
{
while ( !( UCSR0A & DATA_REGISTER_EMPTY_0));
UDR0 = data;
}//UART0

if (g_currentUsart == UART_1)
{
while ( !( UCSR1A & DATA_REGISTER_EMPTY_1));
UDR1 = data;
}//UART_1

if (g_currentUsart == UART_2)
{
SwUartTXData = data;
SwUartTXBitCount = 0;

clrbit(TRXPORT, TXD2);
delay_us(BR9600UC);

if(SwUartTXBitCount < 8)
{
if( SwUartTXData & 0x01 )
setbit(TRXPORT, TXD2);
else
clrbit(TRXPORT, TXD2);

delay_us(BR9600UC);

SwUartTXData = SwUartTXData >> 1;
SwUartTXBitCount++;
}

setbit(TRXPORT, TXD2);
}//UART_2 - Debug

delay_ms(TXDELAY);
return data;
}//putchar

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание