《領卓教育》使用QT控制STM32實時顯示溫溼度
阿新 • • 發佈:2018-12-17
使用QT控制STM32,首先需要在kill中編輯dht11程式,將其燒錄制STM32的開發板中,然後編輯QT,將其執行,點選UI介面進行控制溫溼度開關,來獲取溫溼度。 注:在編輯kill的時候並不需要將dht11初始化。 kill中的程式main.c dht11_read_data(buffer) == 1; RecvData = dequeue(SQ); if(RecvData == 0x61) { printf("humi: %d.%d %%RH\n",buffer[0],buffer[1]); printf("temp: %d.%d C\n",buffer[2],buffer[3]); //delay_ms(500); } QT中的程式 void app::on_pushButton_dht11_clicked() //溫溼度 { static int flag = 1; if(flag == 1) { QByteArray data = HexStringToByteArray(tr("aa 21 61")); serial->write(data); on_timer_all_env(); flag = 0; } else { flag = 1; this->timer1->stop(); } } 在QT中新增的定時器 void app::on_timer_all_env() //定時器env { timer1 = new QTimer(this); connect(timer1,SIGNAL(timeout()),this,SLOT(all_env_recv())); timer1->start(2000); } void app::all_env_recv() { QByteArray data = HexStringToByteArray(tr("aa 21 61")); serial->write(data); } 其中在新增定時器前,應在h檔案中加入一下兩段命令,是將新增定時器的重要語句 void on_timer_all_env(); void all_env_recv(); 實現的結果就是點選QT中UI控制鍵,則會實時接收到溫溼度。 現象不展示了,自己動手操作吧。