У меня есть сканер штрих-кода opticon OPN-2001, с которым я пытаюсь связаться. Он официально поддерживает C/C++ и .NET, но я хотел использовать его с python, если это возможно.Использование C/C++ DLL с Python/Pyserial для связи с считывателем штрих-кода Opticon
Я открыл последовательное подключение к устройству (или хотя бы порт (?), Но когда я использую функции из dll, он дает мне сообщение об ошибке (-1), когда я ожидаю OK (0). Я никогда не пользовался DLL или последовательной связью, поэтому имейте это в виду.
Что мне интересно, если я допустил некоторые очевидные ошибки при вызове DLL-функции или использовании pyserial. Мне также очень интересно, посмотрите на их SDK. Кажется, он ожидает 4 байта LONG в качестве comPort ниже. Я думал, что это сработает, поэтому я немного застрял. Я понимаю, что вы можете только помочь без реального оборудования. Спасибо за любую помощь однако
Вот код, у меня есть ГНФАР:
from ctypes import *
from serial import *
opticonLib = WinDLL('Csp2.dll')
opticonLib.csp2SetDebugMode(1) #logs to textfile if using debug version of .dll
comPort = 3
opticonSerial = Serial(
port=comPort - 1,
baudrate=9600,
bytesize=EIGHTBITS,
parity=PARITY_ODD,
stopbits=STOPBITS_ONE,
timeout=5
)
if opticonSerial.isOpen():
print ('Port is open. Using ' + opticonSerial.name + '.')
print (opticonLib.csp2InitEx(comPort)) #Gives -1 instead of 0
opticonSerial.close()
SDK for scanner if you want to dig deeper
Ну, вы правы. Не открывая его с помощью PySerial перед использованием DLL, я получил OK. Я должен был пробовать это раньше, хе-хе. Теперь посмотрим, что еще я могу с этим сделать. Благодарю. – raecer