ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用pySerial从Python获取输入/输出错误

2019-06-27 06:45:48  阅读:409  来源: 互联网

标签:python arduino serial-port pyserial


我有一个Python脚本,通过pySerial将数据包写入Arduino板.
有时将代码写入电路板时,pySerial会使用errno 5引发输入/输出错误.

一些研究表明,这表示在代表与Arduino板连接的文件中写入时出错.

发送的代码,只发送单字节数据包:

try:
    # Check if it's already a single byte
    if isinstance(byte, str):
        if len(byte) == 1: # It is. Send it.
            self.serial.write(byte)
        else: # It's not
            raise PacketException
    # Check if it's an integer
    elif isinstance(byte, int):
        self.serial.write(chr(byte)) # It is; convert it to a byte and send it
    else: raise PacketException # I don't know what this is.
except Exception as ex:
    print("Exception is: " + ex.__getitem__() + " " + ex.__str__())

此代码打印的错误是:

OS Error Input/Output Error Errno 5

发送时我的代码有问题吗?我是否需要检查串行连接是否已准备好发送或发送后是否有延迟?
或者硬件或与硬件的连接是否存在问题?

编辑:我从pyserial查看了Linux实现,实现只是将错误传递给我的代码.所以没有新的真实见解.
有没有一种好方法来测试程序中发生的事情?

解决方法:

很抱歉打扰了你,但我非常确定错误是由arduino重置本身引起的,因此关闭了与计算机的连接.

标签:python,arduino,serial-port,pyserial
来源: https://codeday.me/bug/20190627/1301982.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有