chenyc
2022-07-04 e7b40bf620df67d6bb87bf4dbed5a3543182c120
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import utime
from driver import UART
# 串口实例化
#ttl串口
uart0 = UART()
uart0.open("serial1")
#rs232串口
uart1 = UART()
uart1.open("serial2")
 
if __name__ == '__main__':
    print("Initial start")
    utime.sleep(1)
    while True:
        # 创建一个writeBuf字节数组,用于串口读
        resultSize = 0
        result = bytearray(50)  # RS232串口接收数据
        resultSize = uart1.read(result)
        print("read data length", resultSize)
        print("read data",result)
        print("read data",result.decode('utf-8'))
        utime.sleep_ms(1000)
        if(resultSize > 0):
            # TTL串口发送接收到的数据
            strResult=result.decode('utf-8')
            list= strResult.split(',')
            print(list[2])
            if(len(list[2])==8):
                # 转换结果方便计算
                tzNumber=float(list[2])
                # 计算体重+0.1kg
                tzNumber=tzNumber+0.1
                #转回string类型
                tzStr=str(tzNumber)
                #构建一个8位空字符串
                lsjg='        '
                #构建一个临时变量
                qianStr=""
                #拼凑原来的空字符
                for x in range(len(list[2])-len(tzStr)):
                    qianStr+=" "
                #拼接计算后的list[2]
                list[2]=qianStr+tzStr
                #转为原始数据字符串
                list2=",".join(list)
                print('new result',list2)
                #转成bytearray发送到串口
                sendByarray=bytearray(list2.encode("utf-8"))
                uart0.write(sendByarray)
                utime.sleep_ms(1000)
                #ST,GS,    17.5,kg .encode()
 
        print("this is usb reply")  # usb口作为交互口,利用print打印消息