因为我能区分不同的数据和序列?

2024-09-22 16:33:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用一系列不同的值来读取,但我不知道怎么把它分开,因为这两个值是数字,但来源不同

首先,我有一个PICAXE将光传感器的ADC转换后的数据串行发送到python。 其次,我有一个PICAXE将温度传感器的数据串行发送到python。在

光代码皮卡

symbol puerto = B.5
main: readadc10 puerto,w1    ; read value into w1
sertxd(#w1,cr,lf)
goto main       ; loop back to start

温度代码PICAXE

^{pr2}$

Python代码

   import pygame
   import sys, serial
   from pygame.locals import *




   ser = serial.Serial()
   ser.port = 3
   ser.baudrate = 4800

   while True:

        datos = ser.readline()            
        grados = float(datos)
        print grados

问题是picaxe同时从light和temp发送数据,但是当python接收到数据时,我不知道如何识别每个数据。在

谁能帮我??在

谢谢!在


Tags: 数据代码importmain来源serial数字pygame
1条回答
网友
1楼 · 发布于 2024-09-22 16:33:51

如果你有一个温度读数和一个亮度读数要同时发送,你可以把它们放在一行用空格隔开的行上。在

毕加索:

sertxd(#w0," ",#w1,cr,lf)

Python:

^{pr2}$

如果这两种类型的阅读是不规则产生的,你可以在每一种类型之前传输一个字符来识别它是什么类型的。在

毕加索:

sertxd("T ",#w0,cr,lf)
...
sertxd("L ",#w1,cr,lf)

Python:

reading = ser.readline()
[readingtype, readingvalue] = reading.split()
if readingtype == "T":
    temperature = float(readingvalue)
elif readingtype == "L":
    lightlevel = float(readingvalue)

相关问题 更多 >