Я использую Python 3 с Anaconda на компьютере с Windows 10.
Я пытаюсь подключиться к USB-сканеру штрих-кода, чтобы считывать штрих-коды и сохранять их в переменных в другой подпрограмме Python.Я нашел пример использования библиотеки PyUSB и попробовал его.После нескольких модификаций я смог запустить его без ошибок.Программа подключается к USB с помощью следующего кода:
import usb.core
import usb.util
def main():
# Find usb device
dev = usb.core.find(idVendor=0x05E0, idProduct=0x1200)
# Raise error if device not found
if dev is None:
raise ValueError('Device not found')
else:
# Set configuration of device
dev.set_configuration()
endpoint = dev[0][(0,0)][0]
data = None
while True:
try:
dev.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize, timeout=1)
print(data)
except usb.core.USBError as e:
data = None
if e.args == ('Operation timed out',):
print("ERROR")
continue
if __name__ == '__main__':
main()
Как я уже сказал, программа работает правильно и находит USB.Тем не менее, данные (номер штрих-кода) никогда не печатаются, потому что программа, похоже, застряла в следующей строке :
dev.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize, timeout=1)
Можете ли вы мне помочь?
Спасибо большоемного заранее!