python 串口转arduino速度测试
python serial to arduino speed test
我正在尝试使用 python (pyserial 3.0.1) 在我的计算机和 Arduino 之间进行串行速度测试。我通过 USB 将 Arduino Duemilanove (ATmega328) 连接到我的 Ubuntu 虚拟机。该设备完美显示,我通过 arduino IDE (1.6.7):
用这个简单的环回草图闪现了它
void setup() {
Serial.begin(115200);
}
void loop() {
while(Serial.available()) {
Serial.write(Serial.read());
}
}
我的 python 程序如下所示:
from __future__ import print_function
import time
import serial
ser = serial.Serial(
port='/dev/ttyUSB0',
baudrate=115200,
timeout=1
)
i = 0;
#wait until bootloader finished
time.sleep(2)
try:
t0 = time.time()
while i < 1000:
ser.write(b'U')
ser.flush()
while ser.in_waiting <= 0:
pass
ret = ser.read(1)
if ret != 'U':
print("Error received: %s" % ret)
i += 1
t1 = time.time()
except KeyboardInterrupt:
ser.close()
exit(1)
ser.close()
print("%.3f" % (t1-t0))
问题是,它有时工作,有时 python 程序不 return,我必须按 Ctrl-C 退出它。如果发生这种情况,我看不到 arduino RX 和 TX 指示灯闪烁。
有人知道为什么会这样吗?
非常感谢...draufundrann
好的...我切换到我的 "real"(不是 VM)Linux 机器,它似乎在那里工作得很好。我会做更多的测试,最终我会关闭这个问题。
编辑:所以我确认它有时可以在 Ubuntu VM 中运行,并且它始终可以在我的真实 Linux Mint 机器上运行。因为我不需要使用 VM 并且我不在乎为什么它不能正常工作(可能是一些破旧的 VM 东西)我将关闭这个问题。
我正在尝试使用 python (pyserial 3.0.1) 在我的计算机和 Arduino 之间进行串行速度测试。我通过 USB 将 Arduino Duemilanove (ATmega328) 连接到我的 Ubuntu 虚拟机。该设备完美显示,我通过 arduino IDE (1.6.7):
用这个简单的环回草图闪现了它void setup() {
Serial.begin(115200);
}
void loop() {
while(Serial.available()) {
Serial.write(Serial.read());
}
}
我的 python 程序如下所示:
from __future__ import print_function
import time
import serial
ser = serial.Serial(
port='/dev/ttyUSB0',
baudrate=115200,
timeout=1
)
i = 0;
#wait until bootloader finished
time.sleep(2)
try:
t0 = time.time()
while i < 1000:
ser.write(b'U')
ser.flush()
while ser.in_waiting <= 0:
pass
ret = ser.read(1)
if ret != 'U':
print("Error received: %s" % ret)
i += 1
t1 = time.time()
except KeyboardInterrupt:
ser.close()
exit(1)
ser.close()
print("%.3f" % (t1-t0))
问题是,它有时工作,有时 python 程序不 return,我必须按 Ctrl-C 退出它。如果发生这种情况,我看不到 arduino RX 和 TX 指示灯闪烁。
有人知道为什么会这样吗?
非常感谢...draufundrann
好的...我切换到我的 "real"(不是 VM)Linux 机器,它似乎在那里工作得很好。我会做更多的测试,最终我会关闭这个问题。
编辑:所以我确认它有时可以在 Ubuntu VM 中运行,并且它始终可以在我的真实 Linux Mint 机器上运行。因为我不需要使用 VM 并且我不在乎为什么它不能正常工作(可能是一些破旧的 VM 东西)我将关闭这个问题。