ucomport.cpp
54 lines
| 1.0 KiB
| text/x-c
|
CppLexer
/ src / ucomport.cpp
|
r2 | #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(); | ||||
} | ||||