打印
[AVR单片机]

大家看看这个Atmega16串口波特率算错了没有

[复制链接]
4241|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bbslhb|  楼主 | 2012-12-19 09:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bbslhb 于 2012-12-19 09:56 编辑

不是不会算,而是算出来的结果和书上的不吻合,发愁啊。
例子来源于陈忠平老师写的《给予Proteus的AVR单片机C语言程序设计与仿真》309页
单片机是Atmega16,外部晶振8MHz。
UCSRA=0x00;
UCSRB=0x98;
UCSRC=0x86
UBRRH=0;
UBRRL=25;
然后注释说这样就设置了波特率为9600bps了。我算了算,这样设置的话,波特率应该为9600*2=19200啊,大家帮忙看看,照这样设置的话,波特率到底是多少。

相关帖子

沙发
qinfangxiaoran| | 2012-12-19 11:52 | 只看该作者
算法应该是UBBRL = (8000000/9600/16-1)%256 =51
如果是19200的话,则是25。
你没有算错,是书错了。

使用特权

评论回复
板凳
bbslhb|  楼主 | 2012-12-19 19:20 | 只看该作者
结贴结贴。看不到结贴选项啊。囧了。

使用特权

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

本版积分规则

2

主题

40

帖子

1

粉丝