python串口编程实例

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。

python串口编程实例

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。

1、字符串的发送接收

短接串口的2、3脚,创建一个文本,如:

python串口编程实例

或者你可以稍微添加几句,变成你任意输入后打印出你的键入信息。

python串口编程实例

其中,read(value)方法的参数value为需要读取的字符长度。如果想要全部读取,提供两个方法:

1)inWaiTIng::监测接收字符。inWaitTIng返回接收字符串的长度值,然后把这个值赋给read做参数。

2)readall()::读取全部字符。

2、十六进制显示

十六进制显示的实质是把接收到的字符诸葛转换成其对应的ASCII码,然后将ASCII码值再转换成十六进制数显示出来,这样就可以显示特殊字符了。

在这里定义了一个函数,如hexShow(argv),代码如下:

python串口编程实例

3、十六进制发送

十六进制发送实质是发送十六进制格式的字符串,如‘\xaa’,‘\x0b’。重点在于怎么样把一个字符串转换成十六进制的格式,有两个误区:

1)‘\x’+‘aa’是不可以,涉及到转义符反斜杠

2)‘\\x’+‘aa’和r‘\x’+‘aa’也不可以,这样的打印结果虽然是\xaa,但赋给变量的值却是‘\\xaa’

这里用到decode函数,

python串口编程实例

需要注意一点,如果字符串list的长度为奇数,则decode会报错,可以按照实际情况,用字符串的切片操作,在字符串的开头或结尾加一个‘0’

假如在串口助手以十六进制发送字符串“abc”,那么你在python中则这样操作“self.l_serial.write(”\x61\x62\x63“)”

当然,还有另外一个方法:

python串口编程实例

同样可以达到相同目的。

技术专区

  • mybatis动态sql详解
  • 用VHDL语言设计数据传输系统中的HDB3编码器
  • 裸机程序如何驱动硬件?看前辈是怎么说的
  • 应用面向对象编程SoC原则的典型示例
  • 嵌入式开发之java常用开发工具介绍
  • python串口编程实例已关闭评论
    A+
发布日期:2019年07月14日  所属分类:物联网