Python的学习之旅:1.串口16进制发送数据与接收数据

本文介绍如何使用Python与Arduino进行串口通信,通过安装serial库并使用十六进制数据进行高效传输。文章提供了在Windows平台下运行的示例代码,并提到了在Linux环境下进行适配的方法。
摘要由CSDN通过智能技术生成

Pyhton是一个很棒的语言,感觉用起来就像是Arduino一样很多东西都被封装好了我只用使用面向对象的思维去调用函数就可以了,但是Python不善于去编写一些过于低层的驱动什么的因为Python在一定程度上效率很低,所以为了更好的利用Python我们通常将Python和Arduino或者STM32一起使用,上端交给Python下端交个单片机。

二者的连接使用串口,一般情况下为了提高数据传输过程中的载荷,通常使用十六进制收发。今天就说说这么使用Python收发十六进制数据

  1. 通过pip指令安装serial库
  2. 在程序头包含serial库,话不多说直接上程序:
import serial
import time         #延时使用
import binascii

s = serial.Serial("COM3", 9600)     #初始化串口


while True:
   
    Hex_str = bytes.fromhex('10 11 12 34 3f')   #文本转换Hex
    #=bytes.fromhex('10 11 12 34 3f') 
    s.write(Hex_str)                            #串口发送 Hex_str()
    #接收
    n=s.inWaiting()                             #串口接收
    if n: 
        data= str(binascii.b2a_hex(s.read(n)))[2:-1]          #Hex转换成字符串
        print(data)                             #字符串输出
    time.sleep(1)

注:上面的程序都是在windows平台下运行的(如果是在Linux下运行只需要将代码第四行中的‘COM3’改为‘/dev/ttyS3’即可)在调试的时候推荐大家使用虚拟串口(Configure Virtual Serial Port Driver)这个软件,他可以虚拟的将计算机中的两个com口进行关联。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值