|
本次實(shí)驗(yàn)是為了了解RT-thread的工作流程以及簡(jiǎn)單的實(shí)驗(yàn)RT來(lái)進(jìn)行一個(gè)學(xué)習(xí)
實(shí)驗(yàn)材料:STM32c8t6+1.44寸TFT顯示屏+紅外傳感器+分光棱鏡
實(shí)驗(yàn)結(jié)果:可以進(jìn)行紅外定時(shí)選擇,實(shí)驗(yàn)成功分為三個(gè)線程做任務(wù)
1.jpg (344.07 KB, 下載次數(shù): 68)
下載附件
2021-11-28 20:56 上傳
線程一:開(kāi)機(jī)時(shí)間顯示- //APP1
- static void led1_thread_entry(void* parameter)
- {
- rt_uint8_t hour=0,munite=0,second=0;
- rt_uint8_t dispBuff[100];
- //Show_Picture();
- Demo_Menu();
- while (1)
- {
- if(second<59) {
- second++;
- // if(time == 10){
- // OLED_Clear();
- // time = 0;
- // os_app_resume(APP_03); //簡(jiǎn)單定時(shí)10*500ms=5s后恢復(fù)運(yùn)行APP_02 ,掛起自己。
- // os_app_pend(APP_01);
- // }
- }
- else
- {
- second=0;
- munite++;
- if(munite==60)
- {
- second=0;
- munite=0;
- hour++;
- if(hour==24)
- {
- second=0;
- munite=0;
- hour=0;
- }
- }
- }
- sprintf(dispBuff,"-%02d:%02d:%02d-",hour,munite,second);
- Draw_Font24B(4,30,RED,dispBuff);
- // Draw_Font16B(4,40,YELLOW,dispBuff);//8*16 “ABC”
- rt_thread_delay(1000); /* 延時(shí)500個(gè)tick */
- }
- }
復(fù)制代碼
線程二:紅外遙控判斷
線程三:計(jì)時(shí)器
- //APP3
- static void APP3_thread_entry(void* parameter)
- {
-
- rt_uint8_t dispBuff[100];
- while (1)
- {
- if(second>0) {
- second--;
- }
- else
- {
- second=59;
- munite--;
- //time++;
- if(munite==0)
- {
- munite=60;
- second=59;
-
- hour--;
- if(hour==0)
- {
- munite=0;
- second=0;
- // uwRet = rt_thread_suspend(APP3_thread);/* 掛起APP3線程 */
- // if(RT_EOK == uwRet)
- // {
- // rt_kprintf("掛起APP3線程成功!\n");
- // }
- // else
- // {
- // rt_kprintf("掛起APP3線程失!失敗代碼:0x%lx\n",uwRet);
- // }
- }
-
-
- }
- }
-
- sprintf(dispBuff," time:%02d:%02d:%02d",hour,munite,second);
- Draw_Font16B(4,80,YELLOW,dispBuff);//8*16 “ABC”
- rt_thread_delay(980); /* 延時(shí)500個(gè)tick */
- }
- }
復(fù)制代碼
代碼下載1:01.RT紅外定時(shí)器.zip-OS文檔類資源-CSDN下載
代碼下載2:
代碼.7z
(619.56 KB, 下載次數(shù): 16)
2021-11-29 18:07 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|