python - Python串行模块打印空行
问题描述
我正在尝试制作一个生成随机数的 Arduino 代码和一个从串行读取这些数字并在命令行中打印它们的 Python 程序。
这是我的 Arduino 代码:
void setup() {
}
void loop() {
long rand = random(10);
Serial.println(rand);
delay(1000);
}
这是我的 Python 代码:
#!/usr/bin/python
import serial
ser = serial.Serial("/dev/ttyACM0",9600, timeout = 1)
if ser.is_open == 0:
ser.open()
print('serial was not open, so it is open now')
else:
print('serial was open this whole time')
while ser.is_open:
thing = ser.readline()
print(thing)
#ser.readline()
ser.close()
一旦 Arduino 开始生成随机数,我运行我的 Python 程序并得到以下输出:
b''
b''
b''
b''
b''
b''
b''
b''
我期待看到随机数而不是b''
.
我怎样才能解决这个问题?
解决方案
您尚未在 arduino 代码中初始化串行对象
尝试在您的 Arduino 代码中更改设置函数。
setup()
{
Serial.begin(9600);
}
下次遇到类似问题时,请尝试模块化检查。首先检查 Arduino 是否正常工作,然后检查整个系统是否正常工作。
推荐阅读
- c# - 比较日期时间 SQL 服务器和 asp.net
- angular - 你如何在 Ngrx 中从一个 Effect 调度多个 Action
- java - Java - 带有轮廓的 Android Mobile Vision 人脸检测
- apache - Apache 启动后无法远程访问我的 EC2
- java - 如何从另一个范围调用变量?
- performance - MarkLogic 内容泵 (MLCP) - 性能 - 记录详细信息
- python - Caffe2:加载 ONNX 模型,并在多核主机/docker 上推断单线程
- java - 用 Java 创建一个 UI。它的图标应该在任务栏中可见。代码必须等到用户输入
- android - MVP 模型是否应该包含 android 特定术语?
- message-queue - MassTransit:合同类的模式和实践