OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6645|回复: 2

有关波特率设置参数的疑问

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2012-11-10
在线时间
0 小时
发表于 2012-11-10 12:44:38 | 显示全部楼层 |阅读模式

本人刚开啃STM32,遇到个疑问,请前辈们指点一二:
 

在<<不完全手册>>中有关波特率设置参数的计算如下:

//pclk2CLK2时钟频率(Mhz)
//bound:波特率

float temp;
u16 mantissa;
u16 fraction;
temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV
mantissa=temp; //得到整数部分
fraction=(temp-mantissa)*16; //得到小数部分
mantissa<<=4;
mantissa+=fraction;
USART1->BRR=mantissa; // 波特率设置

如果把上述代码换成:

u16 mantissa;

mantissa=pclk2*1000000/bound;
USART1->BRR=mantissa;


所得的结果经软件仿真检验是一样的,不知道这里作者为何要省简就繁,是否有其他一些未明因素的考虑。


 

 

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-11-10 16:25:34 | 显示全部楼层
回复【楼主位】bipiqid:
---------------------------------
简单的方法也可以的,我开始也是被st给忽悠了,什么分数小数,就是在玩数字游戏。
你用你的方法没错的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
287
金钱
287
注册时间
2012-3-19
在线时间
37 小时
发表于 2012-11-10 18:15:55 | 显示全部楼层
然来原子被ST忽悠了啊~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-3-1 05:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表