




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、2.2 題目組合2 程序設計題目-事件標志組編程 目標:設計三個任務,當時間到且獨立按健被按下過,讓LED閃耀一下。設LED任務為高優(yōu)先級任務,三個任務的處理流程如圖。下面是三個任務的處理流程。主任務:無條件掛起一個任務,之后建立兩個子任務(任務A與任務B),設置任務B為高優(yōu)先級任務。以兩組信號量(低位標志與次低位標志)組成之間標志組,完成程序設計。任務A: void Task_A(void *p_arg)INT8U err;while(1)OSTimeDly(100);OSFlagPost(LED_Flag,(OS_FLAGS)2,OS_FLAG_SET,&err);if(err !
2、= OS_NO_ERR)Uart_Printf("Task_A事件標志組失敗,錯誤碼%dn",err);elseUart_Printf("發(fā)送標志位rn");1 / 7任務Bvoid Task_B(void *p_arg)INT8U err;while(1) OSFlagPend(LED_Flag,(OS_FLAGS)3,OS_FLAG_WAIT_SET_AND | OS_FLAG_CONSUME,0,&err);Uart_Printf("LED亮rn");Led(ON);OSTimeDly(100);Led(OFF);OST
3、imeDly(100);Uart_Printf("LED滅 實驗成功rn");中斷任務void EInt0Isr(void)INT8U err; rI_ISPC = BIT_EINT0;OSIntEnter();Uart_Printf("發(fā)送按鍵中斷rn");OSFlagPost(LED_Flag,(OS_FLAGS)1,OS_FLAG_SET,&err);Uart_Printf("發(fā)送低位標志rn");OSIntExit();Uart_Printf("退出按鍵中斷rn");試驗程序#include &qu
4、ot;grobal.h"/*任務、堆棧、優(yōu)先級定義*/OS_STK Task_Start_StackSTACKSIZE_M;void Task_Start( void *Id ) ;#define Task_Start_PRIO 4OS_STK Task_A_StackSTACKSIZE_M;void Task_A( void *Id ) ;#define Task_A_PRIO 16OS_STK Task_B_StackSTACKSIZE_M;void Task_B( void *Id ) ;#define Task_B_PRIO 15OS_FLAG_GRP *LED_Flag;
5、/LED事件標志組void Main(void)char Id0 = '1'U8 err;SystemInit();Delay(5000);/延時等待有效復位Led( OFF ) ;OSInit();/創(chuàng)建LED事件標志組LED_Flag = OSFlagCreate(0,&err); if(err != OS_NO_ERR) Uart_Printf("創(chuàng)建LED_Flag事件標志組失敗,錯誤碼%dn",err); OSTaskCreate(Task_Start, (void *)&Id0, (void *)&Task_Start_S
6、tackSTACKSIZE_L - 1, Task_Start_PRIO);OSStart();void Task_Start(void *p_arg)char Id1 = '2'char Id2 = '3' U16 ver ;(void)p_arg;Uart_Printf("nn考核題2.nn");Uart_Printf("uCOS-II實時操作系統(tǒng)初始化.n");OSTimeSet(0); Uart_Printf("uCOS-II實時操作系統(tǒng)時鐘設定.n"); ver = OSVersion();
7、Uart_Printf("uCOS-II實時操作系統(tǒng)版本:%dn",ver); TimersStart();OSTimeDly(20);OSTaskCreate( Task_A, (void *)&Id1, (void *)&Task_A_StackSTACKSIZE_M-1, Task_A_PRIO); OSTaskCreate( Task_B, (void *)&Id2, (void *)&Task_B_StackSTACKSIZE_M-1, Task_B_PRIO ) ; while(1)OSTaskSuspend(OS_PRIO_SE
8、LF);/*【功能說明】A任務*/void Task_A(void *p_arg)INT8U err;while(1)OSTimeDly(100);OSFlagPost(LED_Flag,(OS_FLAGS)2,OS_FLAG_SET,&err);if(err != OS_NO_ERR)Uart_Printf("Task_A事件標志組失敗,錯誤碼%dn",err);elseUart_Printf("發(fā)送標志位rn");/*【功能說明】B任務 */void Task_B(void *p_arg)INT8U err;while(1) OSFlagPe
9、nd(LED_Flag,(OS_FLAGS)3,OS_FLAG_WAIT_SET_AND | OS_FLAG_CONSUME,0,&err);Uart_Printf("LED亮rn");Led(ON);OSTimeDly(100);Led(OFF);OSTimeDly(100);Uart_Printf("LED滅 實驗成功rn");/*/* void EInt0Isr(void)/* Description: 外部中斷0/* Argument : none /*/void EInt0Isr(void)INT8U err; rI_ISPC = BIT_EINT0;OSIntEnter();Uart_Printf("發(fā)送按鍵中斷rn&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年護士執(zhí)業(yè)資格考試基礎護理健康教育試題集
- 學習英模人物活動方案
- 女員工節(jié)日活動方案
- 婦女節(jié)文化文藝活動方案
- 學術競技活動方案
- 學業(yè)線上活動策劃方案
- 女工新年活動策劃方案
- 女工安全勸導活動方案
- 孔子博物館特色活動方案
- 奉賢大公司年會策劃方案
- 農(nóng)業(yè)科技產(chǎn)業(yè)園發(fā)展戰(zhàn)略規(guī)劃與實施路徑
- 2025年養(yǎng)老護理員(中級)考試試卷:實操技能解析
- 體育服務綜合體建設項目可行性分析 (一)
- GB 45671-2025建筑防水涂料安全技術規(guī)范
- 廣東深圳2025年公開招聘農(nóng)村黨務(村務)工作者筆試題帶答案分析
- 2025-2030中國電池行業(yè)發(fā)展分析及市場競爭格局與發(fā)展前景預測研究報告
- 2025-2030中國滅草松原藥行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 農(nóng)村自建房業(yè)主培訓課件
- 財產(chǎn)申報表-被執(zhí)行人用
- 現(xiàn)場7S管理培訓
- 一例肝硬化患者的護理查房課件
評論
0/150
提交評論