Цитата(studert @ Mar 25 2005, 00:09)
У этого контроллера на одном адресе сидит 2 регистра UBRRH и UCSRC, в одном есть биты отвечающие за число бит, а во втором за делитель частоты кварца. Мне надо выставить делитель в пределах 3-103 и 8бит данных, а не получается выставить 1й и 2й бит независимо в обоих регистрах. В даташите написано, что URSEL отвечает за переключение между этими регистрами, но у меня все равно ничего не получается, пробовал писать с установкой этого бита, все равно пишется в оба регистра. Может я чего не понял?
У меня все это работает как часы, и реализовано вот так
void uart0_init(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UCSRC = 0x86;
UBRRL = 0x17; //set baud rate lo
UBRRH = 0x00; //set baud rate hi
UCSRB = 0x98;
}
Камень - Mega32, но работает и на Mega16 и на 8535
попробуй! Должно пойти.