1. 程式人生 > >Qt5.7 QSerialPort串列埠使用時readyRead()訊號不產生解決方法

Qt5.7 QSerialPort串列埠使用時readyRead()訊號不產生解決方法

        最近在使用QSerialPort時發現一個問題。使用事件的方式readyRead()訊號始終不能產生,也就進入不到槽函式裡。但是我發現,每次使用ArduinoIDE的串列埠連線後,再次使用自己的串列埠就可以產生readyRead()訊號。初步判斷要麼是開啟方式不對,要麼就是開啟後少了什麼。於是各種查,無奈網上資料不多,全是qsocket的。不過還是被我翻到了一個部落格,不過這個部落格沒有講這個問題,只是講了下QSerialPort怎麼使用。但正是這篇文章,讓我無意間瞄到了“控制管腳狀態”這幾個字,還有setDataTerminalReady() , setRequestToSend()。於是大家應該這麼寫
if(serial.open(QIODevice::ReadWrite)){
  serial.setDataTerminalReady(true);
}
這樣就可以正常使用了!