Python 取下RFID标签后,读卡器关闭;在程序重新启动之前,请不要重新打开

Python 取下RFID标签后,读卡器关闭;在程序重新启动之前,请不要重新打开,python,nfc,pyscard,Python,Nfc,Pyscard,我正在尝试使用ACR122u NFC阅读器与NFC标签进行通信。程序启动良好,当一个标签连接时,它能够读取并执行标签上的所有所需操作。然而,一旦NFC标签被移除,读卡器就会关闭,直到程序重新启动才会打开。以下是我轮询读卡器的代码: def CheckNFCCard(): getUIDCommand=[0xFF,0xCA,0x00,0x00,0x00] turnOffBeepCommand=[0xFF,0x00,0x52,0x00,0x00] getDataCommand=[0xFF,0xB0,0

我正在尝试使用ACR122u NFC阅读器与NFC标签进行通信。程序启动良好,当一个标签连接时,它能够读取并执行标签上的所有所需操作。然而,一旦NFC标签被移除,读卡器就会关闭,直到程序重新启动才会打开。以下是我轮询读卡器的代码:

def CheckNFCCard():
getUIDCommand=[0xFF,0xCA,0x00,0x00,0x00]
turnOffBeepCommand=[0xFF,0x00,0x52,0x00,0x00]
getDataCommand=[0xFF,0xB0,0x00,0x07,0x10]
updateBlockCommandFirst=[0xFF、0xD6、0x00、0x07、0x04、0x65、0x6E、0x75、0x73]
updateBlockCommandSecond=[0xFF、0xD6、0x00、0x08、0x04、0x65、0x64、0xFE、0x00]
#获取NFC阅读器
r=读取器()
读卡器=r[0]
#选择读卡器,连接
conn=reader.createConnection()
虽然(正确):
打印(‘NFC例程重新启动’)
尝试:
连接
除:
时间。睡眠(1)
持续
#发送hex命令以关闭扫描时的蜂鸣音。
连接传输(关闭命令)
#获取标记上编码的数据。
数据,sw1,sw2=conn.transmit(getDataCommand)
如果(sw1,sw2)=(0x90,0x0):
打印(“状态:操作已完成。”)
#将十进制数字转换为字符
stringList=[chr(x)表示数据中的x]
#
identifierString=''.join(stringList)[2:6]
如果(identifierString==“已使用”):
pub.sendMessage('NFCDetected',arg1='used')
elif(identifierString==“新建”):
数据,sw1,sw2=连接传输(updateBlockCommandFirst)
如果(sw1,sw2)=(0x90,0x0):
连接传输(updateBlockCommandSecond)
线程(target=pub.sendMessage,args=('NFCDetected',),kwargs={'new':arg1}).Start()
时间。睡眠(1)
持续
循环继续按预期运行,但读卡器已关闭,不会再次连接


任何帮助都将不胜感激

当你想读第二张卡片时,程序卡在哪一行?@Sadap就是这样,它不会卡在哪一行。循环继续正常,但读卡器关闭,无法再次连接。我将编辑后处理,您可以发布导入语句吗?