arduino 解决蓝牙透传受控端卡顿问题

三头六臂的小白 2019-01-25 10:13:34
最近在使用arduino蓝牙透传遥控自己的步进电机发时候现很奇怪,预定的电机转动延时没有正常执行,电机一卡一卡,感觉延时设定失效了。 直接说结论:用虚拟串口配合时间中断onetime库。 遗留问题:第二字节后开始走丢失不稳定问题,只能稳定接受一个字节(正在解决中)。 debug过程: 1.换不用Serial的其他代码,电机转动正常。~~硬件,连线正常. 2.换显示屏接受数据,正确显示数据,串口接收正常. 3.尝试使用arduino内建硬件中断,逻辑发现冲突……serial的tx口是高速传输无法支撑整合硬件中断(逻辑不符合) 4.偶然逛油管发现有第三方arduino时间中断库,果断用,发现对原有步进电机脉冲延时无明显影响。程序可以正常跑 5.尝试用虚拟串口接收struct发现因为虚拟串口没有缓存,数据除了第一字节,后面多多少少有问题(用硬件Serial无问题),一定程度上加高中断频率可改善,但效果不明显。(怀疑是数据尾端空跟0有混淆或者中断机制导致数据不完整) 总结:用蓝牙透传方式遥控一个需要连续运转的部件需要考虑硬件串口会有中断(且串口数据读取对主进城影响明显,就算没有发送数据),而虚拟串口可以避免这种影响,但是传送数据可靠性低。
...全文
402 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 yangkunhenry的回复:
楼主说的硬件串口会有中断导致一卡一卡的吗? 感觉不应该吧,其他中断不会影响串口吧,而且电机转动延时是实时的收蓝牙控制的吗?
串口接收时候会造成主loop delay()有问题 不知道是不是我的arduino兼容版问题 还是未知错误 在我的uno 和mini 板子上面 运行硬串口的接受命令 会极大程度影响delay()的运行
yangkunhenry 2019-01-27
  • 打赏
  • 举报
回复
楼主说的硬件串口会有中断导致一卡一卡的吗? 感觉不应该吧,其他中断不会影响串口吧,而且电机转动延时是实时的收蓝牙控制的吗?

1,616

社区成员

发帖
与我相关
我的任务
社区描述
智能硬件,智能手表,可穿戴设备,智能电视,谷歌眼镜,Google Glass 相关讨论。
社区管理员
  • 智能硬件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧