OpenEdv-开源电子网

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

串口波特率计算时小数部分为什么要乘以16?

[复制链接]

11

主题

86

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2012-4-26
在线时间
70 小时
发表于 2013-8-17 20:01:13 | 显示全部楼层 |阅读模式
如题,


这个例子里小数部分的0.75为什么要*16呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2021-5-15
在线时间
14 小时
发表于 2021-5-22 16:21:20 | 显示全部楼层
STM2021 发表于 2021-5-22 16:18
前人栽树,后人乘凉。

没那么复杂,什么数电乱七八糟的,干个项目就这么一个小问题,难道还要把数电看一 ...

至于,整数部分和小数部分的数据拼接问题
整数部分算出来一共12位,对应十六进制3位,直接放那,
小数部分算出来一共四位,对应十六进制1位,直接放那。
注意!他们不是相加关系!!!
回复 支持 1 反对 0

使用道具 举报

2

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2021-5-15
在线时间
14 小时
发表于 2021-5-22 16:18:10 | 显示全部楼层
本帖最后由 STM2021 于 2021-5-22 16:48 编辑

前人栽树,后人乘凉。

没那么复杂,什么数电乱七八糟的,干个项目就这么一个小问题,难道还要把数电看一遍?

在STM32中文参考手册542页,25.6.3 波特比率寄存器(USART_BRR)这里。
C:\Users\Dawn\Pictures\chuankou.png

看图,小数部分DIV_Fraction共4位,这四位表示十进制的1,表示十六进制的F,最小分度值就是1/16。
本问题中,小数部分是0.75,那么0.75有多少个1/16呢,即0.75除以(1/16),也就是0.75*16=12=0xC。
这就是乘以16的原因!

注:该寄存器小数部分有4位,他能表示的最小十进制数就是1/16=0.0625,
也就是十进制的0.0625写到这个小数部分中就是0x1。

回复 支持 1 反对 0

使用道具 举报

9

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2018-4-6
在线时间
31 小时
发表于 2018-8-23 13:12:42 | 显示全部楼层
10进制小数,转16进制表示
0.75占了1的3/4
12占了16的3/4

所以(0.75)d==(0.c)hex
回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-8-17 21:02:03 | 显示全部楼层
参考自《STM32参考手册》
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

86

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2012-4-26
在线时间
70 小时
 楼主| 发表于 2013-8-17 21:42:34 | 显示全部楼层
还是不懂。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-8-17 23:54:04 | 显示全部楼层
回复【3楼】followme001:
---------------------------------
照做就是了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

1446

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2244
金钱
2244
注册时间
2010-12-16
在线时间
201 小时
发表于 2013-8-18 00:32:06 | 显示全部楼层
小学数学:
已知一个时间段是<1.1小时>,求相当于<?>小时<?>分钟,请列出具体的计算过程.
技术讨论请发帖 , 需要我回复请点左下的 < 回复 > 让系统通知我 . 本人不通过其他方式返回任何参数.
回复 支持 反对

使用道具 举报

11

主题

86

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2012-4-26
在线时间
70 小时
 楼主| 发表于 2013-8-18 09:41:34 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
OK.
回复 支持 反对

使用道具 举报

11

主题

86

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2012-4-26
在线时间
70 小时
 楼主| 发表于 2013-8-18 09:42:07 | 显示全部楼层
回复【5楼】shihantu:

小学数学:
已知一个时间段是<1.1小时>,求相当于<?>小时<?>分钟,请列出具体的计算过程.

---------------------------------
我有点懂了,因为BRR是16位的原因?                                        
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-8-18 09:55:15 | 显示全部楼层
就是将十进制的小数,转换为16进制的小数
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
424
金钱
424
注册时间
2013-8-9
在线时间
65 小时
发表于 2013-8-19 08:44:42 | 显示全部楼层
建议这位童鞋复习一下数字技术基础知识!
坚持自己的目标,就一定能够实现!
回复 支持 反对

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2018-1-15
在线时间
13 小时
发表于 2018-8-23 10:49:50 | 显示全部楼层
我也遇到这个问题,不懂。小数部分乘以16????
回复 支持 反对

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2018-1-15
在线时间
13 小时
发表于 2018-8-23 11:56:37 | 显示全部楼层
原来是十六进制和十进制的转换,可以换成中间值二进制计算下,就明白了。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2020-2-27
在线时间
3 小时
发表于 2020-3-13 15:09:10 | 显示全部楼层
15353920254 发表于 2018-8-23 13:12
10进制小数,转16进制表示
0.75占了1的3/4
12占了16的3/4

理解了。相当于0.75/1=x/16,求x
回复 支持 反对

使用道具 举报

2

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2021-5-15
在线时间
14 小时
发表于 2021-5-22 14:43:43 | 显示全部楼层
呵呵,舍本逐末,数据拼接你会?你知道最后0X1D4C为什么这么写吗?
回复 支持 反对

使用道具 举报

2

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2021-5-15
在线时间
14 小时
发表于 2021-5-22 14:44:04 | 显示全部楼层
wangdk 发表于 2020-3-13 15:09
理解了。相当于0.75/1=x/16,求x

呵呵,舍本逐末,数据拼接你会?你知道最后0X1D4C为什么这么写吗?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 04:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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