pyqt5 编写串口通讯上位机_几分钟学习活用电脑USB口——编写属于自己的串口上位机...

本文介绍了如何利用PyQT5创建串口通信上位机,重点是电脑通过USB口与单片机通信。内容涵盖串口协议、波特率、数据位、校验位和停止位的选择,并展示了发送和接收数据的代码片段。此外,还讨论了如何通过C#编写上位机以及无线控制的可能性。
摘要由CSDN通过智能技术生成

一个系统和另一个系统进行通信,在单片机开发时经常使用的是串口通信,IIC,SPI等。需要SPI,IIC所需要的线路连接较少,但要是涉及到电脑终端的开发,会经常使用到USB口,实现电脑和MUC的串口通信。

48d5a8759bd3a26a204be9df81b75e10.png

应用自己的USB口

使用的是电脑的通用串口总线(Universal Serial Bus)。USB口具有传输速率快,使用方便,支持热插拔的优点。主要靠VCC,GND,DATA(D-),DATA(D+)四根线实现通信。

743ed2401c532df7adbd43910faa98c4.png

4线实现通信

15fe6311a3c1792517bd17e581c8b4de.png

串口通信协议

参考串口通信协议,需要发送时候添加奇偶校验位,停止位,数据位。我们要选择电脑串口号,就需要串口号,接收和发送要保持同步,所以要有波特率的选择。

先说一下开发平台,用的是VS,建立一个控制台应用。在简单布局以后的结果如下

f3195434f09f8fdf3a21e2b9fc17ae16.png

波特率是衡量符号传输速率的参数即单位时间传送的字符数,一般有9600,1,1200,4800,19200等参数选择;数据位是衡量通信中实际数据位的参数,即发送数据的位数,一般有8,7,6,5作为选项;校验位具体使用的是奇偶校验,是一种简单的检错方式,一般奇校验,偶校验或者不填;停止位是数据包的最后一位,一般是1,1.5,2;

40c63c63e4fc09bb0be0764a09fb205c.png
7376f86de64839a7a969a4a1da6b55e2.png
443c0a6088baebeadf99160db2b26ee5.png

串口号是自动获取的,波特率,数据位是通过下拉进行选择,上面的程序主要是通过switch语句实现校验位和停止位的选择。当点击了打开串口后就执行上面程序。

发送和接受程序如下

4dc4f2838bf4b678b77690934a09017a.png

接收

ce72967eafa5fab741cb80c055c5cb2e.png

发送

之后就是根据收到的数据,完成不同的功能,项目不一样,内容也就不一样了。因为做项目经常要和电脑进行通信,方便实现远程控制,一般就是用C#编写一个上位机实现相应功能。要是要实行无线控制,就外接一个蓝牙,或者使用电脑的内置蓝牙。

ffdfc52727f8e0de90d4968ac2824111.png

停车场的上位机

感谢大家的阅读,希望大家点赞关注,我会发些通信电子方面的科普性内容,大家一起互相学习。好好学习,天天向上。新手上路,多多包涵。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值