环境:
ubuntu18.04 + python3.6
我把通信定义分为三层:base底层、application应用层、user_api客户层
下面打包了serial的类,属于ttl_base底层的类,其他应用直接继承此类即可,在十几个项目中都是用这个,故分享出来
ttl_base.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
import queue
import serial
import threading
from Communication.ToEnd.com_data_utils import hex_show
class ComBasic:
def __init__(self, port='COM1', band_rate=115200):
self.my_serial = serial.Serial(port=port, baudrate=band_rate, timeout=0.5)
self.com_stop()
# 线程相关设置
self._alive = False
self._waitEnd = None
self._stop = False
self.thread_read, self.thread_send = None, None
# 数据变量
self._com_read_buf, self._com_read_len = None, None
self._send_queue = queue.Queue()
# 定义串口等待的函数
def __waiting(self):
if self._waitEnd: