




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2.2 題目組合2 程序設(shè)計題目-事件標志組編程 目標:設(shè)計三個任務(wù),當時間到且獨立按健被按下過,讓LED閃耀一下。設(shè)LED任務(wù)為高優(yōu)先級任務(wù),三個任務(wù)的處理流程如圖。下面是三個任務(wù)的處理流程。主任務(wù):無條件掛起一個任務(wù),之后建立兩個子任務(wù)(任務(wù)A與任務(wù)B),設(shè)置任務(wù)B為高優(yōu)先級任務(wù)。以兩組信號量(低位標志與次低位標志)組成之間標志組,完成程序設(shè)計。任務(wù)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任務(wù)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");中斷任務(wù)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"/*任務(wù)、堆棧、優(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);/延時等待有效復(fù)位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)時鐘設(shè)定.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任務(wù)*/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任務(wù) */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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《網(wǎng)絡(luò)主播培養(yǎng)與直播銷售實戰(zhàn)(AIGC版)》課件 第7章 直播商品運營
- 社區(qū)兒童健康教育講座
- 威脅人類健康的主要疾病及其防治策略
- 文化娛樂行業(yè)消費者行為分析報告:2025年市場細分與技術(shù)創(chuàng)新趨勢
- 缺鐵性貧血兒科護理學(xué)
- 學(xué)校介紹課件
- 塑料制品行業(yè)2025年環(huán)保政策下的綠色產(chǎn)業(yè)政策市場前景展望研究報告
- 血友病性關(guān)節(jié)炎護理
- 物業(yè)管理系統(tǒng)程序設(shè)計
- 垃圾分類 可行性研究報告
- GB 45671-2025建筑防水涂料安全技術(shù)規(guī)范
- 2025至2030年中國全身螺旋CT掃描系統(tǒng)行業(yè)投資前景及策略咨詢研究報告
- 1、人教部編版二年級下冊語文看拼音寫詞語(一類生字和書后詞語)
- 增材制造在虛擬現(xiàn)實輔助機械制造中的應(yīng)用-洞察闡釋
- 重慶金太陽2025屆高三5月聯(lián)考英語及答案
- 醫(yī)院新建門急診醫(yī)技綜合樓工程施工組織設(shè)計
- 外籍人員雇傭合同(中英文對照)6篇
- 玻璃瓶合同協(xié)議
- 《不可或缺的醫(yī)療保障:課件中的健康險》
- 財產(chǎn)申報表-被執(zhí)行人用
- 云南郵政面試題及答案
評論
0/150
提交評論