你好!欢迎来到 !
语言
当前位置: 首页>> 技术中心>> 单片机入门>> AVR单片机UCSRC 和UBRRH 共用地址的问题

AVR单片机UCSRC 和UBRRH 共用地址的问题

关键字: AVR单片机 寻址 寄存器 作者:admin 来源:不详 发布时间:2018-05-18 浏览:1

UCSRC寄存器结构:

UBRRH寄存器结构:

AVR单片机UART的UCSRC和UBRRH两个寄存器是共用地址的,通过最高位的URSEL来选择更新哪个数据。

比如写UCSRC=0x86,那么0x86的最高位Bit7=1,所以这组数据会更新UCSRC的值

写UBRRH=0x01,那么0x01的最高位Bit7=0,所以这组数据会更新UBRRH的值

无需专门更新URSEL的值。

如果写成了UBRRH=0x81,那么就会去更新UCSRC的值,是自动识别的。

在网上看到有朋友问:为什么在程序中写UBRRH的时候没有先将URSEL置0?

而是直接设置

UBRRH=BAUD_H;

UBRRL=BAUD_L;

现在大家应该明白了吧,只要写入的BUAD_H的最高位为0,即BAUD_H&0x80==0,就会自动更新UBRRH的值,无需专门设置URSEL的值。

编辑:admin 最后修改时间:2018-05-18

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright ? 2014-2023 All Rights Reserved.粤ICP备14043402号-4

Baidu
map