如图 单片机串口传输速率问题

2019-07-14 14:43发布

要用单片机采集信号,采样率要达到40k-100k,可是我发现一旦我不设置延时,传到PC的数据就乱了,也就是好像传输的速度跟不上采样的速度啊。如图,最少要延迟千分之一秒,可是我最少要40K的传输速度啊,都是要实时读取的。。。大佬们有什么办法可以解决么(单片机是MSP430F6638)。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
dirtwillfly
1楼-- · 2019-07-14 22:49
波特率最高能设置到多少要看使用的主频是多少。
波特率的计算可以使用这个工具:http://bbs.21ic.com/icview-1621242-1-1.html
airwill
2楼-- · 2019-07-15 01:16
 精彩回答 2  元偷偷看……
狐狸不是猫
3楼-- · 2019-07-15 05:06
dirtwillfly 发表于 2017-12-17 20:40
波特率最高能设置到多少要看使用的主频是多少。
波特率的计算可以使用这个工具:http://bbs.21ic.com/icvie ...

单片机主频吗?  单片机主频是哪个,, MCLK吗?
狐狸不是猫
4楼-- · 2019-07-15 07:49
airwill 发表于 2017-12-17 20:59
需要波特率, 如果接收端出现乱码, 可以试试在发送端使用两个停止位

我波特率能不能到500k....只要外部晶振频率够高就行了吗,还是需要其他什么参数。
ohy3686
5楼-- · 2019-07-15 12:25
你这样写串口发送数据程序不严谨,容易出错。
你把一个自己的数据放到BUF中,串口就会自动发送数据。
如果你在第一个数据还没有发完8位的情况,又扔进去第二个数据,
可能会出现数据覆盖的情况。
那么,怎么准确的知道数据有没有发送完毕呢?
用延时函数是不够严谨的,
延时短了,出现乱码,延时长了,浪费时间。
最好还是通过发送完成标志位来判断比较好,
你不妨试试哦。
airwill
6楼-- · 2019-07-15 16:15
波特率可以提高, 不过据我测试, 好多波特率使用会有问题,  38400, 115200 的 2 的 N 次方倍的波特率可以稳定使用, 到 1843200 吧

一周热门 更多>