port = new Win_QextSerialPort("COM3",QextSerialBase::Polling); if (!port->open(QIODevice::ReadWrite)) return ; port->setBaudRate(BAUD115200); port->setDataBits(DATA_8); port->setStopBits(STOP_1); port->setParity(PAR_NONE); connect(port,SIGNAL(readyRead()),this,SLOT(readMyCom())); char c[3]; c[0] = 0x01; c[1] = 0x03; c[2] = 0x05; qint64 ret = port->write(c,3); 这样就可以发送,但无法接收数据。 如果改成,QextSerialBase::EventDriven模式,则可以接收,但无法发送数据。
因为串口发送速率很快,如果设置定时器取数据担心有延时,所以还是希望EventDriven模式。 关闭port->setFlowControl(FLOW_OFF);,还是不行,无法接收数据。
16,235
社区成员
26,649
社区内容
加载中
试试用AI创作助手写篇文章吧