我正在尝试建立一个程序,通过USB串行连接读取带有RFID阅读器的RFID芯片。使用以下代码,我可以读取标记,但结果将在每行返回为单个字符。
import serial
ser = serial.Serial(
port='COM4',\
baudrate=9600,\
parity=serial.PARITY_NONE,\
stopbits=serial.STOPBITS_ONE,\
bytesize=serial.EIGHTBITS,\
timeout=0)
print("connected to: " + ser.portstr)
while True:
for line in ser.read():
print(chr(line))
ser.close()
输出:
connected to: COM4
4
0
0
0
0
4
1
2
8
6
C
E
F
F
如何一次阅读整行?我尝试过使用'ser.readline()`,但这并没有什么区别。另外,我不知道读取结尾处的方形符号是什么意思。据我测试,方形符号总是位于第15位,但有时会有其他字符。
最后,我需要能够扫描和RFID,然后在预定义列表中搜索标签,看它是否位于列表中。
答案 0 :(得分:0)
为什么不直接连接所有数字?
RFID_string = ""
while True:
for line in ser.read():
if ((chr(line)) == ETX):
break;
else:
ss += (chr(line))
您的ETX(文本末尾)始终位于第15位,因为它是您的RFID阅读器/标签的标准。还有其他标准,如10位数。