如何使用python读取由Arduino传输的串行数据?

2024-10-08 18:24:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个激光雷达传感器,想和电脑通信。首先,我编写了一个简单的程序,看看能否让pySerial正常工作:

void setup() {
    Serial.begin(9600);
    Serial.println("Ready");
    delay(1000);
}

void loop() {
    Serial.println("Go");
    delay(1000);
}

以及与串行端口通信的python程序:

^{2}$

首先,我运行arduino代码,串行监视器打印出预期的结果(每秒运行一次)。然后我开始空闲,试着运行程序。然后我得到了一个错误:

    serial.serialutil.SerialException: [Errno 16] could not open port 
    /dev/cu.usbmodem14101: [Errno 16] Resource busy: '/dev/cu.usbmodem14101'

我进行了故障排除并找到了lsof | grep“/dev/特写:14101型“命令仅用于获取:

    Julians-iMac:dev julianmcomie$ lsof | grep "/dev/cu.usbmodem14101"
    Arduino   4199 julianmcomie  100u      CHR              18,55     
    0t2557         911 /dev/cu.usbmodem14101

大多数运行此命令的人都发现后台的端口上运行着一些模糊的进程,于是就终止了该进程。我对arduino还是个新手,那我还缺什么呢?如果python程序希望与之通信,那么为什么arduino会干扰python程序?在


Tags: 端口dev命令程序serialgreparduinodelay

热门问题