电气suep 2022-08-09 11:05 采纳率: 0%
浏览 191
已结题

arduino串口通信速度慢

问题遇到的现象和发生背景

最近在研究yolov5图像识别,打算用yolov5模型写一个能自动通关森林冰火人的脚本,于是乎就开干,训练以及坐标获取方面都没问题,控制方面打算用arduino leonado板子充当usb键鼠,我的想法是通过pyserial模块让电脑的pycharm的yolov5项目与arduino leonado板子进行通信,以达到控制arduino leonado的目的。
但是当我把串口初始化之后,将serial.write()放入yolo处理每一帧画面的for循环中,serial.write()似乎就没有效果,我猜想可能是serial.write()写入的速度太慢或者板子读取的速度太慢,于是我就在serial.write()后面加了个time.sleep(1)结果arduino leonado就能接收到信息了。想问是不是发送频率太快板子接收不过来呢?

问题相关代码,请勿粘贴截图

电脑pycharm项目中有关pyserial模块简化后的代码:

板子能接收到“1”:

import serial
import time
ser = serial.Serial("COM6",115200)
while True:
ser.write("1".encode())
time.sleep(1)

板子无法接收到“1”
import serial
import time
ser = serial.Serial("COM6",115200)
while True:
ser.write("1".encode())

运行结果及报错内容

运行结果是前者板子能接收到信息,后者不能

我的解答思路和尝试过的方法

我尝试过time.sleep()更短的是间,似乎0.7s是个分界线,大于该时间就能接收到,小于则不能。我严重怀疑板子无法接收高频率的串口信息,但是又不知道该咋整,森林冰火人对延迟要求虽然不是很高,但是0.7s的延迟实在无法接受

我想要达到的结果

我主要就是想实现电脑端pycharm中的项目可以不断地发送实时地指令给arduino leonado开发板,然后开发板通过usb连接电脑充当键鼠的角色。我现在唯一能想到的就是通过TTL-CH340串口线来实现项目和开发板的通信,可是效果不尽人意。求解决方法感谢

  • 写回答

1条回答 默认 最新

  • 与猿共舞 2022-08-09 12:06
    关注

    网络渲染慢

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月9日
  • 创建了问题 8月9日

悬赏问题

  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,