极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14636|回复: 6

arduino处理速度跟不上数据流

[复制链接]
发表于 2017-5-19 09:39:49 | 显示全部楼层 |阅读模式
我想用arduino  用蓝牙跟其他设备蓝牙连接 ,波特率是57600(不能改= =),从一端不停的发送数据流,我要用arduino从数据流中找到四个字节的固定数据,但好像处理速度根本跟不上啊 ,  那个大佬教教小弟  怎么办
回复

使用道具 举报

发表于 2017-5-19 09:52:35 | 显示全部楼层
BLE TX来的一次全过程数据不能大于串口缓冲BUFFER的最大字节,数据最好分批次发送
回复 支持 反对

使用道具 举报

发表于 2017-5-19 10:06:02 | 显示全部楼层
跟不上最多有丢帧,不影响吧
回复 支持 反对

使用道具 举报

发表于 2017-5-19 11:09:37 | 显示全部楼层
串口默认缓存大小。。。64个字节,不能超了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-19 12:42:15 | 显示全部楼层
弘毅 发表于 2017-5-19 11:09
串口默认缓存大小。。。64个字节,不能超了。

可能是我表达的不清楚吧 ,  问题就是怎么来抓取这个特征值,能否指教一下
回复 支持 反对

使用道具 举报

发表于 2017-5-19 12:44:37 | 显示全部楼层
我觉得应该是代码实现问题,57600的波特率每秒的字节数是7200字节。
avr号称一个时钟一条指令,16M的晶振至少每秒可以处理1000000个指令,感觉应该够处理7200个字节。
可以先试一下,loop里面只读数据并比较数据。如果还是不行就不用arduino的serial库,自己实现串口读写。serial是用c++,每次函数调用都要用好几条指令,如果是循环里调用,函数调用浪费的时间就很可观了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-19 16:01:17 | 显示全部楼层
zhb1190 发表于 2017-5-19 12:44
我觉得应该是代码实现问题,57600的波特率每秒的字节数是7200字节。
avr号称一个时钟一条指令,16M的晶振 ...

我现在一上电,两个蓝牙自动连上,然后arduino的板子上的TX一直亮,而RX却不亮,贼奇怪
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-24 08:15 , Processed in 0.041495 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表