我正在对ATmega16进行编程,我在设备管理器( atmel studio 6.2 )中选择了该控制器,但寄存器与 ATmega16 数据表中的寄存器不匹配。我正在使用 ICE 3,并尝试使用模拟器,但结果相同。寄存器UCSRC与其他一些控制器不同,并且无法写入其中,即使我设置MSB
为one
.
问问题
64 次
1 回答
1
根据ATMEGA16 的数据表,不需要设置UCSRC的MSB,因为它的初始值为。当您使用 UART 时,您需要确保,1
您正在设置正确的
UBRRL
和UBRRH
,根据控制器时钟使用如下公式:FOSC/16/BAUD-1
启用
RXEN
和TXEN
从UCSRB
UCSRC
根据您的要求设置适当的位stop bit
和parity bit
请参考下图:
于 2015-06-08T12:10:52.837 回答