1. 程式人生 > >《領卓教育》使用QT控制STM32實時顯示溫溼度

《領卓教育》使用QT控制STM32實時顯示溫溼度

	使用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控制鍵,則會實時接收到溫溼度。
	現象不展示了,自己動手操作吧。