Я пытаюсь преобразовать некоторый код для LoRa из python в C ++, и у меня возникли некоторые трудности. Код python, который отлично работает, использует последовательный python и устанавливает соединение с / dev / ttyUSB0 (на RPI3) со скоростью передачи данных 57600. Следующий код python затем заставляет один из индикаторов мигать на последовательном устройстве:
def tx(self):
self.send_cmd("sys set pindig GPIO11 1")
time.sleep(.3)
self.send_cmd("sys set pindig GPIO11 0")
def send_cmd(self, cmd, delay=.1):
self.write_line(cmd)
time.sleep(delay)
Я написал c ++, используя wiringSerial, чтобы установить sh соединение и вернуть дескриптор. Затем я пытаюсь написать ту же команду «sys set pindig GPIO11 1» через serialPuts или serialPrintf, как в приведенной ниже функции:
void txfunction::TX() {
std::cout << "SENDING MESSAGE" << std::endl;
serialPuts(handle, "sys set pindig GPIO11 1");
usleep(1000000);
serialPuts(handle, "sys set pindig GPIO11 0");
usleep(1000000);
serialPrintf(handle, "sys set pindig GPIO11 1");
usleep(1000000);
serialPrintf(handle, "sys set pindig GPIO11 0");
usleep(1000000);
Дескриптор подключения сделан в другом месте с использованием
handle = serialOpen("/dev/ttyUSB0", 57600);
Он сообщает, что соединение установлено успешно, и сообщения, предположительно, отправляются, но индикаторы не мигают, так что я явно не понимаю, как работает Gordons Project wiringSerial. Может кто-нибудь указать мне правильное направление о том, как правильно отправить строку текста в качестве команды через WiringSerial?