#include "ucomport.h" UComPort::UComPort() { this->p_portMutex = new QMutex(); this->p_opened = false; } QString UComPort::portName() { QMutexLocker locker(this->p_portMutex); return p_PortName; } int UComPort::speed() { QMutexLocker locker(this->p_portMutex); return p_speed; } void UComPort::setPortName(const QString &name) { QMutexLocker locker(this->p_portMutex); this->p_PortName = name; } void UComPort::setSpeed(int speed) { QMutexLocker locker(this->p_portMutex); this->p_speed = speed; } bool UComPort::open() { QMutexLocker locker(this->p_portMutex); if(p_opened) { rs232close(this->p_port); this->p_opened = false; } this->p_port = rs232open((char*)p_PortName.toStdString().c_str()); if(this->p_port!=badPortValue) { rs232setup(this->p_port,8,this->p_speed,rs232parityNo,rs232OneStop); p_opened = true; } } bool UComPort::open(const QString &name, int speed) { setPortName(name); setSpeed(speed); return open(); }