You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确连接Arduino与Python?代码报TypeError错误求助

Arduino与Python连接及TypeError错误解决

错误原因

你代码里的arduinoData.in_waiting()写法错误——in_waiting是pyserial库中Serial对象的属性(返回当前待读取的字节数,是个整数),不是可调用的方法,不能加括号执行,这就是触发TypeError: 'int' object is not callable的根本原因。

修正后的代码

from serial import Serial
import time

# 初始化串口连接,注意端口号和波特率要和Arduino代码匹配
arduinoData = Serial("com3", 115200)
time.sleep(1)  # 给串口连接留初始化时间

while True:
    # 正确读取in_waiting属性,不加括号
    while arduinoData.in_waiting == 0:
        pass
    datapacket = arduinoData.readline()
    print(datapacket)

正确连接的注意事项

  • 确认串口端口号正确:在Arduino IDE的「工具→端口」里查看当前Arduino对应的端口,Windows下是COMx格式,Mac/Linux下是/dev/tty.usbmodemxxx这类格式
  • 波特率必须和Arduino代码中的Serial.begin(xxx)参数完全一致
  • 运行Python代码前,关闭Arduino IDE的串口监视器,避免端口占用冲突
  • 确保已安装pyserial库:执行pip install pyserial完成安装
  • Arduino端需上传能持续发送数据的代码,示例如下:
void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello from Arduino!");
  delay(1000);
}

内容的提问来源于stack exchange,提问作者Tejasisnothere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:14:58