欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用pyserial進(jìn)行串口通信的實(shí)例

 更新時(shí)間:2019年07月02日 10:41:15   作者:kingokay  
今天小編就為大家分享一篇Python使用pyserial進(jìn)行串口通信的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

安裝pyserial

pip install pyserial

查看可用的端口

# coding:utf-8

import serial.tools.list_ports

plist = list(serial.tools.list_ports.comports())

if len(plist) <= 0:
  print("沒(méi)有發(fā)現(xiàn)端口!")
else:
  plist_0 = list(plist[0])
  serialName = plist_0[0]
  serialFd = serial.Serial(serialName, 9600, timeout=60)
  print("可用端口名>>>", serialFd.name)

所發(fā)十六進(jìn)制需轉(zhuǎn)換為以下格式

# 所發(fā)十六進(jìn)制字符串010591F50000F104
cmd = [0x01, 0x05, 0x91, 0xF5, 0x00, 0x00, 0xF1, 0x04]

串口通信

Windows下端口為COM*, Ubuntu下為/dev/ttyS0

import serial

class Ser(object):
  def __init__(self):
    # 打開(kāi)端口
    self.port = serial.Serial(port='COM4', baudrate=9600, bytesize=8, parity='E', stopbits=1, timeout=2)

  # 發(fā)送指令的完整流程
  def send_cmd(self, cmd):
    self.port.write(cmd)
    response = self.port.readall()
    response = self.convert_hex(response)
    return response

  # 轉(zhuǎn)成16進(jìn)制的函數(shù)
  def convert_hex(self, string):
    res = []
    result = []
    for item in string:
      res.append(item)
    for i in res:
      result.append(hex(i))
    return result

以上這篇Python使用pyserial進(jìn)行串口通信的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論