[AVR单片机] Atmel公司源码问题?(求救啊

[复制链接]
 楼主| timixiaoyouxi 发表于 2020-2-25 16:29 | 显示全部楼层 |阅读模式
1、问题描述:USART的初始化问题,我打算做单片机和PC机通信的实验程序,但是我查阅了ATmel公司的code example 发现一个关于setting frame formate :的一个问题,源码
  1. 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的任务啊
yizushijie 发表于 2020-3-4 09:34 | 显示全部楼层
有些芯片不需要设置这个位置的,不知道你是用的哪款芯片
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

84

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部