dat*_*man 5 python real-time pyserial
我有一个红外摄像机/跟踪器,我通过串口进行通信.我现在正在使用pyserial模块执行此操作.摄像机以60 Hz的速率更新被跟踪物体的位置.为了获得被跟踪对象的位置,我执行一个pyserial.write(),然后用pyserial.read(serialObj.inWaiting())监听传入的回复.一旦收到回复/位置,就重新进入while循环,依此类推.我的问题与这种方法的可靠性和速度有关.我需要计算机以至少60Hz的速率获取该位置(然后该位置将通过UDP发送到实时操作系统).这是Pyserial/Python能够做到的事情,还是应该考虑其他基于C的方法?
谢谢,卢克
Python应该保持良好状态,但最好的办法是确保监控每秒获得的读取次数。计算每秒读取完成的次数,如果该数字太低,则写入性能日志或类似日志。您还应该考虑将 I/O 部分与 python 程序的其余部分(如果有的话)解耦,因为 pyserial 读取调用是阻塞的。