python串口循环发送

pip install pyserial

import serial#导入串口通信库
import time
from time import sleep

ser = serial.Serial()

def port_open_recv():#对串口的参数进行配置
    ser.port='com4'
    ser.baudrate=115200
    ser.bytesize=8
    ser.stopbits=1
    ser.parity="E"#奇偶校验位
    ser.open()
    if(ser.isOpen()):
        print("串口打开成功!")
    else:
        print("串口打开失败!")
#isOpen()函数来查看串口的开闭状态



def port_close():
    ser.close()
    if(ser.isOpen()):
        print("串口关闭失败!")
    else:
        print("串口关闭成功!")

def send(send_data):
    if(ser.isOpen()):
        ser.write(send_data.encode('utf-8'))#编码
        ser.write(send_data.encode('utf-8'))#编码
    #     print("发送成功",send_data)
    # else:
    #     print("发送失败!")

if __name__ == '__main__':
    port_open_recv()
    while True:
        a = "FF 02 90 00 24 bd c9 dc 3b 69 27 65 3B 1C D9 56 3F C0 C2 10 BA C0 4A B8 37 B5 6F E1 B9 F1 31 18 3D 6E 86 82 BD 6C 65 1D C1 00 00 03"
        # a = "aacc"
        # send(a)
        ser.write(bytes.fromhex(a))#编码
        # sleep(0.005)#起到一个延时的效果,这里如果不加上一个while True,程序执行一次就自动跳出了
            # 毫秒延时
        delay_mark = time.time()    
        while True:
            offset = time.time() - delay_mark
            if offset > 0.0095:
                break


猜你喜欢

转载自blog.csdn.net/weixin_46143152/article/details/126192199