打印

MSP430F417模拟串口115200波特率

[复制链接]
931|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Thorald|  楼主 | 2016-12-21 20:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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.

使用特权

评论回复
5
Stannis| | 2016-12-21 21:34 | 只看该作者
0.5 bit,设置 4 这个开始就加入了0.680us的误差,
总误差就是特有可能偏大
(0.680us + 3.2us+送时钟误差+收时钟误差+收软件误差) > 4.340us

使用特权

评论回复
6
Brand2| | 2016-12-21 21:47 | 只看该作者
这个通信最讲究稳定,
正常 用 UART HW 接口,这里只有 送收时钟的误差,
软件模拟,要把误差做的最小,只能采用 硬件的计数器,把时间设定到理想最中点,
然后开中断,在中断里面进行 数据shift in, shift out, 完成后设定 done_flag.

使用特权

评论回复
7
mmbs| | 2016-12-21 22:50 | 只看该作者
这个为什么要设置0.5bit呢?

使用特权

评论回复
8
mmbs| | 2016-12-21 22:51 | 只看该作者
115200的波特率是要定时器模拟吗?

使用特权

评论回复
9
michael_llh| | 2016-12-22 14:37 | 只看该作者
为什么要模拟串口?

使用特权

评论回复
10
oufuqiang| | 2016-12-22 17:09 | 只看该作者
4uS,进出中断时可能都不够的。

使用特权

评论回复
11
ayl439| | 2016-12-22 23:50 | 只看该作者
靠,115200用模拟串口??MSP430?建议趁早放弃该方案,9600还有点搞头,进出中断的时间误差都是uS级的,如果系统再干点别的事儿,没法弄的

如果你比较有熟悉,系统没有其它中断的话,还可以试试

使用特权

评论回复
12
1988020566| | 2016-12-25 21:07 | 只看该作者
定时器模拟串口?

使用特权

评论回复
13
1988020566| | 2016-12-25 21:08 | 只看该作者
f417没有串口吗?为什么要模拟串口?

使用特权

评论回复
14
youtome| | 2016-12-26 22:34 | 只看该作者
设置1bit值和半个bit值?

使用特权

评论回复
15
youtome| | 2016-12-26 22:35 | 只看该作者
半个bit值有什么用?

使用特权

评论回复
16
youtome| | 2016-12-26 22:38 | 只看该作者
半个bit值有什么用?

使用特权

评论回复
17
plsbackup| | 2016-12-27 17:00 | 只看该作者
串口用定时器模拟吗?

使用特权

评论回复
18
plsbackup| | 2016-12-27 17:03 | 只看该作者
F417自带串口输出。

使用特权

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

本版积分规则

183

主题

849

帖子

1

粉丝