打印
[AVR单片机]

Atmel公司源码问题?(求救啊

[复制链接]
549|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1、问题描述:USART的初始化问题,我打算做单片机和PC机通信的实验程序,但是我查阅了ATmel公司的code example 发现一个关于setting frame formate :的一个问题,源码
UCSRC = (1<<USBS)|(3<<UCSZ0);
具体截图:
    这个代码是设置 8data no    2 stop  ,但是问题在于UCSRC的最高位URSEL它设置的是0啊!!!!
不是1,这就意味着这个数据写入的是UBRRH寄存器里面,而不是在设置UCSRC了????

  大佬求解啊?

使用特权

评论回复

相关帖子

沙发
airwill| | 2020-2-26 21:39 | 只看该作者
这里只是设置了 USBS 和 UCSZ 位, 不会到 别的寄存器, 如果移位溢出, 也就清零, 不会写到别的地址去

使用特权

评论回复
板凳
叶春勇| | 2020-2-27 10:31 | 只看该作者
UCSRC = (1<<USBS) | (1<<UCSZ0);
等于:
A= (1<<USBS);
B=(1<<UCSZ0);
C=A | B ;
UCSRC=C;
如楼上所说,只是修改了usbs ucsz0

使用特权

评论回复
地板
timixiaoyouxi|  楼主 | 2020-2-27 13:34 | 只看该作者
airwill 发表于 2020-2-26 21:39
这里只是设置了 USBS 和 UCSZ 位, 不会到 别的寄存器, 如果移位溢出, 也就清零, 不会写到别的地址去 ...

我知道他只修改了,这两位,但是它不修改UCSRC的第七位,就没有完成set frame format的任务啊

使用特权

评论回复
5
yizushijie| | 2020-3-4 09:34 | 只看该作者
有些芯片不需要设置这个位置的,不知道你是用的哪款芯片

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

84

帖子

0

粉丝