veBool serialHalConnect(void) { veSerialPort.baudrate = devReg.baudRate; veSerialPort.dev = pltGetSerialDevice(); veSerialPort.rxCallback = rxCallback; veSerialPort.intLevel = 1; return veSerialOpen(&veSerialPort, NULL); }
veBool serialHalConnect(void) { veSerialPort.baudrate = devReg.baudRate; veSerialPort.dev = pltGetSerialDevice(); veSerialPort.rxCallback = rxCallback; veSerialPort.intLevel = interruptLevel; if (!veSerialOpen(&veSerialPort, NULL)) return veFalse; veSerialEventCallback(&veSerialPort, handleSerialEvent); return veSerialSetEol(&veSerialPort, '\n'); }
ModbusRtu::ModbusRtu(const QString &portName, int baudrate, QObject *parent): QObject(parent), mPortName(portName.toLatin1()), mTimer(new QTimer(this)), mCurrentSlave(0) { memset(&mSerialPort, 0, sizeof(mSerialPort)); // The pointer returned by mPortName.data() will remain valid as long as // mPortName exists and is not changed. mSerialPort.dev = mPortName.data(); mSerialPort.baudrate = static_cast<un32>(baudrate); mSerialPort.intLevel = 2; mSerialPort.rxCallback = onDataRead; mSerialPort.eventCallback = onSerialEvent; veSerialOpen(&mSerialPort, this); mData.reserve(16); resetStateEngine(); mTimer->setInterval(1000); connect(mTimer, SIGNAL(timeout()), this, SLOT(onTimeout())); }