Доброго времени суток. Столкнулся с проблемой неизвестного мне свойства: пытаюсь настроить модуль USART, при этом не получается изменить содержимое регистра UCSRC. Выполняю следующий код:
В симуляторе при пошаговом выполнении программы наблюдаю, что строчка
никаких изменений в состоянии регистра не вызывает. Я использую Atmel Studio 6.0
В чём может быть проблема?
Спойлер
Код: Выделить всё
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
int main(void)
{
DDRA=0xff; //включаю порт А на вывод
PORTA=0xfe; // просто на бум зажигаю светодиоды
//** speed boad 9600 (f_clk == 4 MHz)
UBRRL= 25;
//**
UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //8-битовое слово, контроля чётности нет, 1 стоп-бит, асинхронный режим
UCSRB=(1<<RXCIE)|(1<<RXEN); // разрешаю работу приёмника
while(1)
{
//TODO:: Please write your application code
}
}
SIGNAL (SIG_USART_RECV)
{
PORTA = UDR;
}
Код: Выделить всё
UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);В чём может быть проблема?
