Пример #1
0
veBool serialHalConnect(void)
{
	veSerialPort.baudrate = devReg.baudRate;
	veSerialPort.dev = pltGetSerialDevice();
	veSerialPort.rxCallback = rxCallback;
	veSerialPort.intLevel = 1;

	return veSerialOpen(&veSerialPort, NULL);
}
Пример #2
0
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');
}
Пример #3
0
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()));
}