ATmega16 编程寄存器不匹配
ATmega16 programing-registers mismatchs
我正在编程 ATmega16 我在设备管理器中选择了那个控制器(atmel studio 6.2)但是寄存器不匹配ATmega16 数据表中的寄存器。我正在使用 ICE 3 并尝试使用模拟器,但结果相同。 Register UCSRC 与其他控制器不同,不能写入,即使我将 MSB
设置为 one
.
根据ATMEGA16的datasheet,不需要设置UCSRC的MSB,其初始值为1
。
当您使用 UART 时,您需要确保,
您正在根据控制器时钟使用以下公式设置正确的 UBRRL
和 UBRRH
:
FOSC/16/BAUD-1
从 UCSRB
启用 RXEN
和 TXEN
- 根据您对
stop bit
和parity bit
的要求,在UCSRC
中设置适当的位
请参考下图:
我正在编程 ATmega16 我在设备管理器中选择了那个控制器(atmel studio 6.2)但是寄存器不匹配ATmega16 数据表中的寄存器。我正在使用 ICE 3 并尝试使用模拟器,但结果相同。 Register UCSRC 与其他控制器不同,不能写入,即使我将 MSB
设置为 one
.
根据ATMEGA16的datasheet,不需要设置UCSRC的MSB,其初始值为1
。
当您使用 UART 时,您需要确保,
您正在根据控制器时钟使用以下公式设置正确的
UBRRL
和UBRRH
:FOSC/16/BAUD-1
从
UCSRB
启用 - 根据您对
stop bit
和parity bit
的要求,在
RXEN
和 TXEN
UCSRC
中设置适当的位
请参考下图: