0

我正在对ATmega16进行编程,我在设备管理器( atmel studio 6.2 )中选择了该控制器,但寄存器与 ATmega16 数据表中的寄存器不匹配。我正在使用 ICE 3,并尝试使用模拟器,但结果相同。寄存器UCSRC与其他一些控制器不同,并且无法写入其中,即使我设置MSBone.

4

1 回答 1

1

根据ATMEGA16 的数据表,不需要设置UCSRC的MSB,因为它的初始值为。当您使用 UART 时,您需要确保,1

  1. 您正在设置正确的UBRRLUBRRH,根据控制器时钟使用如下公式:

    FOSC/16/BAUD-1

  2. 启用RXENTXENUCSRB

  3. UCSRC根据您的要求设置适当的位stop bitparity bit

请参考下图: 在此处输入图像描述

于 2015-06-08T12:10:52.837 回答