SerialException:Cannot configure port something went wrong
完整报错
SerialException:Cannot configure port something went wrong, Original message: OSError(22, '参数错误', None, 87)
解决办法
波特率错误,没错, 当时按照网上 modbus_tk
模块例子写的, 所以完全没有注意到波特率值与协调商定好的不一致, 因为当时已经可以成功的读写了(当时用的是usb串口进行的调试), 而经过我反复测试发现, usb串口连接使用波特率使用19600
没有报错, 而工业电脑上集成的串口波特率使用19600
就报我上面提的错误。因为我们当时商定的波特率是 19200
。所以我波特率改为19200
就直接成功了
其他(我排查的步骤)
这个垃圾问题我一步一步排查,首先当时是排查为什么报错,百度一番没找到, 谷歌一番又没找到, 然后我想到了可能是usb串口与工业电脑集成的串口有所区别, 然后我在工业电脑上接入了usb串口, 果不其然代码可以成功运行了, 这个时候我觉得可能是 COM1
这种串口的名字在usb串口和工业电脑集成串口不一致导致的, 所以简单写了一个测试程序
import serial
PORT = str(input("输入连接串口号:"))
serialFd = serial.Serial(PORT,9600,timeout = 6,bytesize=8, parity='N', stopbits=1)
print ("check which port was really used >",serialFd.name)
结果我惊讶的发现,无论usb串口还是集成串口都可以成功连接, 这个时候我目标就已经转向了波特率这个参数,所以我写了下面这个测试程序
import serial
PORT = str(input("输入连接串口号:"))
b = int(input("波特率:"))
serialFd = serial.Serial(PORT,b,timeout = 6,bytesize=8, parity='N', stopbits=1)
print ("check which port was really used >",serialFd.name)
结果发现果然是波特率影响的报错, 然后我查看了软件连接的波特率
果然和我写的波特率不一致, 我哭笑不得。很多错误都是低级错误,但是报错却很难查到
所以你看到这篇文章希望可以节约你的时间,这个垃圾问题浪费了我一个小时的时间。
最后
其实核心的一个问题就是为什么 usb串口使用波特率使用19600不会报错,而工业电脑集成的串口就必须与协调的一致才可以。我当时不知道两者有区别,所以才会浪费这么长时间
如果有明白人希望给我简单的说一下, 我不是专门搞这玩意的。
SerialException:Cannot configure port something went wrong的更多相关文章
- Spring Boot - how to configure port
https://stackoverflow.com/questions/21083170/spring-boot-how-to-configure-port
- [官网]How to configure the Microsoft Distributed Transaction Coordinator (MSDTC) on Linux
How to configure the Microsoft Distributed Transaction Coordinator (MSDTC) on Linux APPLIES TO: SQL ...
- 使用weave管理docker网络
weave简介 Weave creates a virtual network that connects Docker containers deployed across multiple hos ...
- How to: Fix a network printer suddenly showing as offline in Windows Vista, 7 or 8 « Robin's Blog
This post has become quite popular – so I've updated it with a bit more detail, plus some people's e ...
- FW:使用weave管理docker网络
Posted on 2014-11-12 22:20 feisky 阅读(1761) 评论(0) 编辑 收藏 weave简介 Weave creates a virtual network that ...
- simpleBLEPeripheral.c 文件分析
这个配置或者说任务, 让这个蓝牙设备成为了一个简单的BLE外设. 这里定义了外设的广播数据, 以及最重要, char被改变之后的回调, 引出后来的coreHandler里面的, ack 以及写e2pr ...
- ubuntu 14.04安装quickbuild server (一)
官网: http://www.pmease.com/ 指导网站: http://wiki.pmease.com/display/QB60/ 1. 安装quickbuild server ------ ...
- 用蓝牙芯片CC2541/CC2540实现一个智能恒温箱
最近突然想自己做一个智能小冰箱玩一玩,于是决定动手试一试. 成品效果图 原材料 半导体制冷片一只 散热风扇 12V电源一台 智能恒温箱电路板 控制板的PCB图 原理图 供电部分原理图 制冷片控制部分原 ...
- 6、CC2541修改按键调节广播发送功率例程为持续发送4DB的蓝牙基站
一.目的 在 OSAL操作系统-实验31 从机广播功率修改-(20141029更新).zip 基础上进行修改,该工程是通过5向按键的上下按键来控制广播功率的加减,总共有4个档位.我们的目的是直接用最高 ...
- VirtualBox Network Config
Sharing Host VPN with VirtualBox guest After looking for this solution everywhere, I finally found a ...
随机推荐
- 新增一个Redis 从节点为什么与主节点的key数量不一样呢?
在日常的 Redis 运维过程中,经常会发生重载 RDB 文件操作,主要情形有: 主从架构如果主库宕机做高可用切换,原从库会挂载新主库重新获取数据 主库 QPS 超过10万,需要做读写分离,重新添加从 ...
- Python数据科学手册-前言
读Python数据科学手册 笔记 系列 数据科学 data science https://img2022.cnblogs.com/blog/2827305/202205/2827305-202205 ...
- ProxySQL SSL 配置
后端 SSH 连接配置 从版本 v1.2.0e 开始,ProxySQL 支持对后端使用 SSL 连接. 重要提示: 仅支持 v1.x 中的后端 SSL.在 v2.x 之前的版本中,客户端是无法使用 S ...
- 车辆稳定性辅助(VSA)系统
当车辆转弯大于或小于预期时,VSA有助于在转弯时稳定车辆. 同时还有助于在湿滑路面上保持牵引力. VSA 打开和关闭 禁用: 请长按按钮直至听到哔的一声.VSA 关闭指示灯点亮. 恢复: 按下按钮直至 ...
- 基于Alpine镜像定制自己的工具箱
Alpine介绍 Alpine 操作系统是一个面向安全的轻型 Linux 发行版.目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境.这样会带来多个好处. ...
- Keepalived + Nginx 实现高可用 Web 负载均衡
一.Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前 ...
- vue3基础
什么是CDN? 内容分发网络--通过相互链接的网络系统,利用最靠近用户的服务器,更快更可靠的发送给用户. vue的cdn引入 method中的函数为什么不能用this? this的主要使用是来获取da ...
- EasyExcel实现文件导出
官网:https://www.yuque.com/easyexcel/doc/easyexcel 导出 准备工作 引入依赖 <!--EasyExcel相关依赖--> <depende ...
- NSIS自定义目录选择页面制作之安装…
在nsis制作自定义界面中,目录选择页面个人感觉最为繁琐,因为该界面不仅涉及到界面控件的创建,还要涉及到控件消息传递和状态改变时的回调函数通告. 迅雷界面为例: 其中安装目录中的8盘符,在本机中并不存 ...
- 分布式存储系统之Ceph集群存储池、PG 与 CRUSH
前文我们了解了ceph集群状态获取常用命令以及通过ceph daemon.ceph tell动态配置ceph组件.ceph.conf配置文件相关格式的说明等,回顾请参考https://www.cnbl ...