首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python串口到arduino速度测试

python串口到arduino速度测试
EN

Stack Overflow用户
提问于 2016-03-25 12:11:14
回答 1查看 589关注 0票数 1

我正在尝试用python (pyserial 3.0.1)在我的计算机和Arduino之间做一个串行速度测试。我通过USB连接了Arduino Duemilanove (ATmega328)和我的Ubuntu。该设备显示得非常完美,我通过arduino IDE (1.6.7)用这个简单的回退草图显示了它:

代码语言:javascript
复制
void setup() {
  Serial.begin(115200);
}

void loop() {
  while(Serial.available()) {
    Serial.write(Serial.read());
  }
}

我的python程序如下所示:

代码语言:javascript
复制
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程序没有返回,我不得不退出Ctrl。如果发生这种情况,我不能看到arduino,RX和TX leds闪烁。

有人知道为什么会这样吗?

非常感谢..。杜芬

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-25 16:53:35

好的..。我切换到了我的“真正”(而不是VM) Linux机器,在那里它似乎工作得很好。我会做一些更多的测试,最后我将结束这个问题。

编辑:所以我确认它有时在Ubuntu中工作,并且它总是适用于我真正的Linux机器。由于我不需要使用VM,而且我也不关心为什么它不能正常工作(可能是一些乏味的VM东西),所以我将结束这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36219687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档