Atmega 2560中的UBRR配置

问题描述

如果四舍五入的UBRR值为3749,如何将其分配给UBRRL和UBRRH?我的想法是UBRRL = 0xA5和UBRRH = 0x0E

解决方法

如果您将avr-gcc与标准工具链一起使用,则只需分配UBRRn = 3749(其中n是USART的编号)

否则,您首先需要写UBRRnH,然后写UBRRnL。写入UBRRnL会重置波特率发生器,因此必须在此之前写入UBRRnH

3749 = 0x0EA5

UBRRnH = 0x0E;
UBRRnL = 0xA5;

尽管数字3749看起来可疑。即使启用了16MHz和2x模式,它也只能提供533波特/秒的速度。您确定号码正确吗?

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...