求教MSP430F417模拟串口115200波特率

2019-03-24 09:16发布

模拟串口时,要得到115200波特率,如何设置1bit值和半个bit值的数值,请指教。谢谢

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
5525
1楼-- · 2019-03-24 14:08
是用GPIO模拟吗,
一个bit 8.680us = 1000,000 / 115200.
理想的话,用中断来控制数据移位貌似不错,
数据质量不好的话,这个噪音过滤还的考虑考虑
qiuqian3623
2楼-- · 2019-03-24 18:33
< :TI_MSP430_内容页_SA7 -->
5525 发表于 2016-6-23 07:12
是用GPIO模拟吗,
一个bit 8.680us = 1000,000 / 115200.
理想的话,用中断来控制数据移位貌似不错,
数 ...

是用IO口模拟的。1bit设置为9;0.5bit设置为4,试过了不行。
18633013902
3楼-- · 2019-03-24 19:05
 精彩回答 2  元偷偷看……
5525
4楼-- · 2019-03-24 21:16
qiuqian3623 发表于 2016-6-23 09:10
是用IO口模拟的。1bit设置为9;0.5bit设置为4,试过了不行。

1个bit设定,9.0us, 这个和理想 8.680us, 相差 0.320us.
正常 UART都是 一byte一同步, 一次同步送10bit, 最后那个bit 采样点偏差就是 3.2us.
在加上,你的时钟和对法时钟的误差,还有你软件模拟送的这个误差,有点玄啊。

0.5 bit,设置 4 这个开始就加入了0.680us的误差,
总误差就是特有可能偏大
(0.680us + 3.2us+送时钟误差+收时钟误差+收软件误差) > 4.340us
5525
5楼-- · 2019-03-24 21:43
楼主,这个通信最讲究稳定,
正常 用 UART HW 接口,这里只有 送收时钟的误差,
软件模拟,要把误差做的最小,只能采用 硬件的计数器,把时间设定到理想最中点,
然后开中断,在中断里面进行 数据shift in, shift out, 完成后设定 done_flag.

这个一定要计算奥,理论上论证过不了,实际哪怕跑通了,也是不能保证的。

祝你成功!

一周热门 更多>

相关问题

    相关文章