Инициализировал USART. сигнал с контроллера передается номально. По компорту ловлю на компьютере. А вот если с компьютера передавать - нет реакции. Вот кусок кода моей программы
Код
UBRRH = 0;
UBRRL = 103; // Скорость обмена USART 9600 бод
UCSRB = 0x18; /* Устанавливаем разряды TXEN и RXEN для
активизации USART в режиме ввода/вывода через
выводы 0 и 1 порта D */
UCSRC = 0x03; // Разряды UCSZx установлены для передачи 8 бит данных
while (1)
{
if(UCSRA & 0x80)
{
USARTBuffer = UDR;
PORTB = USARTBuffer & 0xE0;
PORTD = (USARTBuffer << 3) & 0xE0;
}
}
UBRRL = 103; // Скорость обмена USART 9600 бод
UCSRB = 0x18; /* Устанавливаем разряды TXEN и RXEN для
активизации USART в режиме ввода/вывода через
выводы 0 и 1 порта D */
UCSRC = 0x03; // Разряды UCSZx установлены для передачи 8 бит данных
while (1)
{
if(UCSRA & 0x80)
{
USARTBuffer = UDR;
PORTB = USARTBuffer & 0xE0;
PORTD = (USARTBuffer << 3) & 0xE0;
}
}
просто пытаюсь поморгать светодиодами в зависимости от пришедших данных. ноль реакции.
где может быть ошибка?
использую WinAVR
зы. видел тут в одной из соседних тем советовали указать при инициализации порта RxD выходом. делал. не помогло.