MSP430F417模拟串口115200波特率

[复制链接]
1311|17
 楼主| Thorald 发表于 2016-12-21 20:20 | 显示全部楼层 |阅读模式
模拟串口时,要得到115200波特率,如何设置1bit值和半个bit值的数值,请指教。试了1bit设置为9;0.5bit设置为4,不行
Bjorn 发表于 2016-12-21 20:43 | 显示全部楼层
一个bit 8.680us = 1000,000 / 115200.
理想的话,用中断来控制数据移位貌似不错
Rollo 发表于 2016-12-21 20:57 | 显示全部楼层
你的时钟是多少呢?用时钟除以波特率就是一位的时间了
Rangar 发表于 2016-12-21 21:21 | 显示全部楼层
1个bit设定,9.0us, 这个和理想 8.680us, 相差 0.320us.
正常 UART都是 一byte一同步, 一次同步送10bit, 最后那个bit 采样点偏差就是 3.2us.
Stannis 发表于 2016-12-21 21:34 | 显示全部楼层
0.5 bit,设置 4 这个开始就加入了0.680us的误差,
总误差就是特有可能偏大
(0.680us + 3.2us+送时钟误差+收时钟误差+收软件误差) > 4.340us
Brand2 发表于 2016-12-21 21:47 | 显示全部楼层
这个通信最讲究稳定,
正常 用 UART HW 接口,这里只有 送收时钟的误差,
软件模拟,要把误差做的最小,只能采用 硬件的计数器,把时间设定到理想最中点,
然后开中断,在中断里面进行 数据shift in, shift out, 完成后设定 done_flag.
mmbs 发表于 2016-12-21 22:50 | 显示全部楼层
这个为什么要设置0.5bit呢?
mmbs 发表于 2016-12-21 22:51 | 显示全部楼层
115200的波特率是要定时器模拟吗?
michael_llh 发表于 2016-12-22 14:37 | 显示全部楼层
为什么要模拟串口?
oufuqiang 发表于 2016-12-22 17:09 | 显示全部楼层
4uS,进出中断时可能都不够的。
ayl439 发表于 2016-12-22 23:50 | 显示全部楼层
靠,115200用模拟串口??MSP430?建议趁早放弃该方案,9600还有点搞头,进出中断的时间误差都是uS级的,如果系统再干点别的事儿,没法弄的

如果你比较有熟悉,系统没有其它中断的话,还可以试试
1988020566 发表于 2016-12-25 21:07 | 显示全部楼层
定时器模拟串口?
1988020566 发表于 2016-12-25 21:08 | 显示全部楼层
f417没有串口吗?为什么要模拟串口?
youtome 发表于 2016-12-26 22:34 | 显示全部楼层
设置1bit值和半个bit值?
youtome 发表于 2016-12-26 22:35 | 显示全部楼层
半个bit值有什么用?
youtome 发表于 2016-12-26 22:38 | 显示全部楼层
半个bit值有什么用?
plsbackup 发表于 2016-12-27 17:00 | 显示全部楼层
串口用定时器模拟吗?
plsbackup 发表于 2016-12-27 17:03 | 显示全部楼层
F417自带串口输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

849

帖子

1

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