打印

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

[复制链接]
2891|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
要用单片机采集信号,采样率要达到40k-100k,可是我发现一旦我不设置延时,传到PC的数据就乱了,也就是好像传输的速度跟不上采样的速度啊。如图,最少要延迟千分之一秒,可是我最少要40K的传输速度啊,都是要实时读取的。。。大佬们有什么办法可以解决么(单片机是MSP430F6638)。

T)JR[H75OX%`~NDC0M@5BTN.png (23.2 KB )

T)JR[H75OX%`~NDC0M@5BTN.png

相关帖子

沙发
狐狸不是猫|  楼主 | 2017-12-17 19:02 | 只看该作者
好像是因为波特率···波特率最高可以设置到多少··具体怎么设置啊

使用特权

评论回复
板凳
dirtwillfly| | 2017-12-17 20:40 | 只看该作者
波特率最高能设置到多少要看使用的主频是多少。
波特率的计算可以使用这个工具:https://bbs.21ic.com/icview-1621242-1-1.html

使用特权

评论回复
地板
airwill| | 2017-12-17 20:59 | 只看该作者
需要波特率, 如果接收端出现乱码, 可以试试在发送端使用两个停止位

使用特权

评论回复
5
狐狸不是猫|  楼主 | 2017-12-20 18:05 | 只看该作者
dirtwillfly 发表于 2017-12-17 20:40
波特率最高能设置到多少要看使用的主频是多少。
波特率的计算可以使用这个工具:https://bbs.21ic.com/icvie ...

单片机主频吗?  单片机主频是哪个,, MCLK吗?

使用特权

评论回复
6
狐狸不是猫|  楼主 | 2017-12-20 18:08 | 只看该作者
airwill 发表于 2017-12-17 20:59
需要波特率, 如果接收端出现乱码, 可以试试在发送端使用两个停止位

我波特率能不能到500k....只要外部晶振频率够高就行了吗,还是需要其他什么参数。

使用特权

评论回复
7
ohy3686| | 2017-12-20 18:20 | 只看该作者
你这样写串口发送数据程序不严谨,容易出错。
你把一个自己的数据放到BUF中,串口就会自动发送数据。
如果你在第一个数据还没有发完8位的情况,又扔进去第二个数据,
可能会出现数据覆盖的情况。
那么,怎么准确的知道数据有没有发送完毕呢?
用延时函数是不够严谨的,
延时短了,出现乱码,延时长了,浪费时间。
最好还是通过发送完成标志位来判断比较好,
你不妨试试哦。

使用特权

评论回复
8
airwill| | 2017-12-20 18:29 | 只看该作者
波特率可以提高, 不过据我测试, 好多波特率使用会有问题,  38400, 115200 的 2 的 N 次方倍的波特率可以稳定使用, 到 1843200 吧

使用特权

评论回复
9
狐狸不是猫|  楼主 | 2017-12-20 19:56 | 只看该作者
ohy3686 发表于 2017-12-20 18:20
你这样写串口发送数据程序不严谨,容易出错。
你把一个自己的数据放到BUF中,串口就会自动发送数据。
如果 ...

我想过用一个数组,,问题是我一秒钟要发送至少30k数据,稍微发送的慢一点,就存不下了···

使用特权

评论回复
10
狐狸不是猫|  楼主 | 2017-12-20 19:57 | 只看该作者
airwill 发表于 2017-12-20 18:29
波特率可以提高, 不过据我测试, 好多波特率使用会有问题,  38400, 115200 的 2 的 N 次方倍的波特率可以稳 ...

能高到几百K吗,,,我试了256k,还能再高吗

使用特权

评论回复
11
airwill| | 2017-12-20 20:17 | 只看该作者
USB 转换的电脑端还能再高, 但不要用 256K, 512K 这种波特率,  用230400, 307200 等

使用特权

评论回复
12
dirtwillfly| | 2017-12-20 21:41 | 只看该作者
airwill 发表于 2017-12-20 20:17
USB 转换的电脑端还能再高, 但不要用 256K, 512K 这种波特率,  用230400, 307200 等

使用特权

评论回复
13
ohy3686| | 2017-12-20 23:34 | 只看该作者
狐狸不是猫 发表于 2017-12-20 19:56
我想过用一个数组,,问题是我一秒钟要发送至少30k数据,稍微发送的慢一点,就存不下了··· ...

每秒钟要发送30K数据,就是要发送300000bit
波特率要在300000以上,115200是不能满足这个要求的

使用特权

评论回复
14
aspoke| | 2017-12-21 21:01 | 只看该作者
使用usb传输。

使用特权

评论回复
15
232321122| | 2017-12-21 21:01 | 只看该作者
楼主可以使用高速串口。

使用特权

评论回复
16
ghuca| | 2017-12-21 21:33 | 只看该作者
换个其他的芯片试试。

使用特权

评论回复
17
soodesyt| | 2017-12-21 21:34 | 只看该作者
换成can通信。

使用特权

评论回复
18
mnynt121| | 2017-12-21 21:35 | 只看该作者
使用dma呢?

使用特权

评论回复
19
aspoke| | 2017-12-21 21:43 | 只看该作者
楼主的这个单片机好像集成的有usb。

使用特权

评论回复
20
232321122| | 2017-12-21 21:43 | 只看该作者
FT232可以到1Mhz速度。

使用特权

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

本版积分规则

3

主题

23

帖子

0

粉丝