![電子與信息技術(shù)專業(yè)ppt課件_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5a9c04fe-8cd9-405b-b3fb-eb7f18c04813/5a9c04fe-8cd9-405b-b3fb-eb7f18c048131.gif)
![電子與信息技術(shù)專業(yè)ppt課件_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5a9c04fe-8cd9-405b-b3fb-eb7f18c04813/5a9c04fe-8cd9-405b-b3fb-eb7f18c048132.gif)
![電子與信息技術(shù)專業(yè)ppt課件_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5a9c04fe-8cd9-405b-b3fb-eb7f18c04813/5a9c04fe-8cd9-405b-b3fb-eb7f18c048133.gif)
![電子與信息技術(shù)專業(yè)ppt課件_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5a9c04fe-8cd9-405b-b3fb-eb7f18c04813/5a9c04fe-8cd9-405b-b3fb-eb7f18c048134.gif)
![電子與信息技術(shù)專業(yè)ppt課件_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/6/5a9c04fe-8cd9-405b-b3fb-eb7f18c04813/5a9c04fe-8cd9-405b-b3fb-eb7f18c048135.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 電子與信息技術(shù)專業(yè)電子與信息技術(shù)專業(yè)ARM嵌入式技術(shù)課程嵌入式技術(shù)課程積件 12-9:COS-II信號(hào)量 制造教師:謝利民全國職業(yè)教育電子與信息技術(shù)專業(yè)數(shù)字化資源共建共享江蘇無錫機(jī)電高等職業(yè)技術(shù)學(xué)校WUXI MACHINERY AND ELECTRON HIGER PROFESSIONAL AND TECHNIAL SCHOOL 積件 12-9:COS-II信號(hào)量 簡介 ISR與義務(wù)同步 信號(hào)量的任務(wù)方式 123義務(wù)間同步 在中斷中獲得信號(hào)量資源同步 456 積件 12-9:COS-II信號(hào)量 簡介簡介 信號(hào)量值大于信號(hào)量值大于0調(diào)用調(diào)用OSSemPost()信號(hào)量信號(hào)量值加信號(hào)量值加1 在
2、實(shí)時(shí)多義務(wù)系統(tǒng)中,信號(hào)量被廣泛用于:義務(wù)間對(duì)共享資源的互斥、義務(wù)和中斷效力程序之間的同步、義務(wù)之間的同步。 信號(hào)量值減信號(hào)量值減1調(diào)用調(diào)用OSSemPend()信號(hào)量當(dāng)義務(wù)調(diào)用OSSemPost()函數(shù)發(fā)送信號(hào)量時(shí); 當(dāng)信號(hào)量值大于0,義務(wù)調(diào)用OSSemPend()函數(shù)接納信號(hào)量時(shí); 積件 12-9:COS-II信號(hào)量 信號(hào)量值等于信號(hào)量值等于0延時(shí)等待信號(hào)量延時(shí)等待信號(hào)量留意:C/OS-II不允許在中斷效力程序中等待信號(hào)量。信號(hào)量信號(hào)量到來,正常信號(hào)量到來,正常前往前往 信號(hào)量值等于信號(hào)量值等于0延時(shí)等待信號(hào)量延時(shí)等待信號(hào)量延時(shí)到,無信號(hào)量延時(shí)到,無信號(hào)量,前往超時(shí)錯(cuò)誤,前往超時(shí)錯(cuò)誤調(diào)用調(diào)用
3、OSSemPend()調(diào)用調(diào)用OSSemPend()當(dāng)信號(hào)量值等于0,義務(wù)調(diào)用OSSemPend()函數(shù)接納信號(hào)量時(shí)。 簡介簡介 積件 12-9:COS-II信號(hào)量 前面章節(jié)我們學(xué)習(xí)了互斥信號(hào)量,下面對(duì)計(jì)數(shù)信號(hào)量與互斥信號(hào)量做一個(gè)對(duì)比。取值能否用于資源同步以實(shí)現(xiàn)對(duì)共享資源的獨(dú)占能否解決優(yōu)先級(jí)反轉(zhuǎn)問題能否實(shí)現(xiàn)任務(wù)間以及中斷與任務(wù)間的同步實(shí) 現(xiàn) 同 步時(shí) 能 否 傳遞數(shù)據(jù)互斥信號(hào)量互斥信號(hào)量0或1能能不能不能計(jì)數(shù)信號(hào)量計(jì)數(shù)信號(hào)量065535能不能能不能簡介簡介 積件 12-9:COS-II信號(hào)量 信號(hào)量的任務(wù)方式信號(hào)量的任務(wù)方式 在 實(shí) 踐 的 運(yùn) 用 中 , 常 用 信 號(hào) 量 實(shí) 現(xiàn) 義 務(wù)
4、間 的 同 步 ,OSSemPend()和OSSemPost()會(huì)出如今不同義務(wù)的不同函數(shù)中,但不一定成對(duì)出現(xiàn)。 1.義務(wù)間同步留意:在實(shí)踐的運(yùn)用中,還有多對(duì)多、一對(duì)多信號(hào)量操作的情況,但很不常見,建議讀者不要設(shè)計(jì)出這樣的操作方式,由于這樣會(huì)帶來很多的費(fèi)事。 義務(wù)義務(wù)3中斷中斷1義務(wù)義務(wù)2義務(wù)義務(wù)1義務(wù)義務(wù)2義務(wù)義務(wù)1 信號(hào)量1信號(hào)量信號(hào)量信號(hào)量信號(hào)量信號(hào)量1信號(hào)量信號(hào)量一對(duì)一同步一對(duì)一同步多對(duì)一同步多對(duì)一同步 積件 12-9:COS-II信號(hào)量 在嵌入式系統(tǒng)中,經(jīng)常運(yùn)用信號(hào)量訪問共享資源來實(shí)現(xiàn)資源同步。在運(yùn)用時(shí),留意發(fā)送信號(hào)量函數(shù)OSSemPost()與等待信號(hào)量函數(shù)OSSemPend()必
5、需成對(duì)出如今同一個(gè)義務(wù)調(diào)用的函數(shù)中,才干實(shí)現(xiàn)資源同步。2.資源同步信號(hào)量的任務(wù)方式信號(hào)量的任務(wù)方式 積件 12-9:COS-II信號(hào)量 ISR與義務(wù)同步與義務(wù)同步 下面以例如來闡明如何現(xiàn)實(shí)ISR與義務(wù)間同步。假設(shè)定時(shí)器1中斷效力程序發(fā)送信號(hào)量,義務(wù)完成了信號(hào)量的創(chuàng)建并在接納到信號(hào)量后讓蜂鳴器響一聲。處置流程如下。 積件 12-9:COS-II信號(hào)量 void Timer1_Exception (void) T1IR = 0 x01; VICVectAddr = 0; OSSemPost (sem);更新中斷優(yōu)先級(jí)去除中斷標(biāo)志發(fā)送信號(hào)量 中斷效力程序ISR例如代碼如下。ISR與義務(wù)同步與義務(wù)同步
6、 積件 12-9:COS-II信號(hào)量 void TaskBeep (void *pdata) sem = OSSemCreate(0); OS_ENTER_CRITICAL(); /* 初始化VIC(省略) */ /* 初始化定時(shí)器1(省略) */ /* 目的板初始化TargeInit() (省略) */ OS_EXIT_CRITICAL(); while (1) OSSemPend(sem, 0, &err); IO0CLR = BEEP; OSTimeDly(60); IO0SET = BEEP; OSTimeDly(60); 創(chuàng)建信號(hào)量初始化任務(wù)蜂鳴器響延時(shí)60個(gè)節(jié)拍蜂鳴器滅延時(shí)
7、60個(gè)節(jié)拍進(jìn)入臨界段退出臨界段等待信號(hào)量讀者補(bǔ)出相應(yīng)的代碼 蜂鳴器報(bào)警義務(wù)例如代碼如下。ISR與義務(wù)同步與義務(wù)同步 積件 12-9:COS-II信號(hào)量 發(fā)送信號(hào)量信號(hào)量信號(hào)量義務(wù)間同步義務(wù)間同步 收到信號(hào)量.等待信號(hào)量.義務(wù)1義務(wù)2義務(wù)優(yōu)先級(jí)足夠高義務(wù)同步 在嵌入式系統(tǒng)中,經(jīng)常運(yùn)用信號(hào)量來實(shí)現(xiàn)多個(gè)義務(wù)之間的同步。而用來實(shí)現(xiàn)義務(wù)間同步的信號(hào)量在創(chuàng)建時(shí)初始值可以為0或者1,這是由OSSemCreate()函數(shù)來實(shí)現(xiàn)的。 積件 12-9:COS-II信號(hào)量 讓一個(gè)LED以0.5Hz的頻率閃耀,每按鍵一次,LED閃耀一次。我們經(jīng)過此例來闡明如何運(yùn)用信號(hào)量實(shí)現(xiàn)義務(wù)間同步,假設(shè)TaskLED為高優(yōu)先級(jí)的義
8、務(wù)。兩個(gè)義務(wù)處置流程如下。義務(wù)間同步義務(wù)間同步 積件 12-9:COS-II信號(hào)量 TaskKEY義務(wù)主要代碼如下。void TaskKEY (void *pdata) while (1) while (IO0PIN & KEY1) != 0) OSTimeDly(1); OSSemPost (sem); while (IO0PIN & KEY1) = 0) OSTimeDly(1); 延時(shí)1個(gè)節(jié)拍,用于義務(wù)切換延時(shí)1個(gè)節(jié)拍,用于義務(wù)切換等待按健按下等待按健釋放初始化代碼發(fā)送信號(hào)量義務(wù)間同步義務(wù)間同步 積件 12-9:COS-II信號(hào)量 void TaskLED (void *
9、pdata) sem = OSSemCreate(0); while (1) OSSemPend(sem, 0, &err); IO0CLR = LED1; OSTimeDly(OS_TICKS_PER_SEC); IO0SET = LED1; OSTimeDly(OS_TICKS_PER_SEC); 創(chuàng)建信號(hào)量,初始化為0初始化任務(wù)LED亮延時(shí)1sLED滅延時(shí)1s TaskLED義務(wù)主要代碼如下。等待音訊義務(wù)間同步義務(wù)間同步 積件 12-9:COS-II信號(hào)量 資源同步資源同步 為了闡明運(yùn)用信號(hào)量訪問共享資源實(shí)現(xiàn)資源同步,設(shè)計(jì)兩個(gè)義務(wù),它們以不同的頻率讓LED點(diǎn)亮30個(gè)時(shí)鐘節(jié)拍,然后
10、熄滅60個(gè)時(shí)鐘節(jié)拍,要求這兩個(gè)義務(wù)不會(huì)相互關(guān)擾。假設(shè)TaskLED0為高優(yōu)先級(jí)義務(wù),下面是兩個(gè)義務(wù)的處置流程。 積件 12-9:COS-II信號(hào)量 void LED (void) INT8U err; OSSemPend(sem, 0, &err); IO0CLR = LED1; OSTimeDly(30); IO0SET = LED1; OSTimeDly(60); OSSemPost(sem);等待信號(hào)量LED亮延時(shí)30個(gè)節(jié)拍延時(shí)60個(gè)節(jié)拍 為了實(shí)現(xiàn)資源同步,我們需求保證OSSemPost()與OSSemPend()成對(duì)在同一個(gè)義務(wù)函數(shù)中調(diào)用,所以我們編寫一個(gè)庫函數(shù)LED()供兩個(gè)
11、義務(wù)調(diào)用,代碼如下。LED滅發(fā)送信號(hào)量資源同步資源同步 積件 12-9:COS-II信號(hào)量 void TaskLED0 (void *pdata) sem = OSSemCreate(1); while (1) LED(); OSTimeDly(1000); 初始化任務(wù)void TaskLED1 (void *pdata) pdata = pdata; while (1) LED(); OSTimeDly(2000); 調(diào)用LED函數(shù)延時(shí)1000個(gè)節(jié)拍防止編譯器報(bào)警調(diào)用LED函數(shù)延時(shí)2000個(gè)節(jié)拍 下面給出兩個(gè)LED義務(wù)的主要處置代碼。創(chuàng)建信號(hào)量用來實(shí)現(xiàn)資源同步的信號(hào)量在創(chuàng)建時(shí)初始值為一樣資源
12、的數(shù)目,不過嵌入式系統(tǒng)中極少出現(xiàn)完全等同的資源,所以普通初始化為1。LED()函數(shù)已包含互斥資源同步資源同步 積件 12-9:COS-II信號(hào)量 在中斷中獲得信號(hào)量在中斷中獲得信號(hào)量 建立一個(gè)義務(wù),它每53 秒發(fā)送一次信號(hào)量。定時(shí)器1每1秒鐘產(chǎn)生一次中斷,在中斷效力程序中獲得信號(hào)量,假設(shè)有,那么翻轉(zhuǎn)LED。以此例如來闡明如何在中斷中獲得信號(hào)量,運(yùn)用函數(shù)OSSemAccept()實(shí)現(xiàn)。兩個(gè)義務(wù)處置流程如下。 積件 12-9:COS-II信號(hào)量 void TaskPost (void *pdata) sem = OSSemCreate(0); OS_ENTER_CRITICAL(); /* 初始化VIC(省略) */ /* 初始化定時(shí)器1(省略) */ /* 目的板初始化TargeInit() (省略) */ OS_EXIT_CRITICAL(); while (1) OSTimeDly(OS_TICKS_PER_SEC * 5/3); OSSemPost (sem); 創(chuàng)建信號(hào)量初始化任務(wù)發(fā)送信號(hào)量進(jìn)入臨界段退出臨界段延時(shí)5/3秒讀者補(bǔ)出相應(yīng)的代碼 發(fā)送信號(hào)量義務(wù)主要代碼如下。在中斷中獲得信號(hào)量在中斷中獲得信號(hào)量 積件 12-9:COS-II信號(hào)量 void Timer1_Except
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球光學(xué)透明粘合帶行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025合同范本勞務(wù)派遣合同模板書人力資源和企業(yè)新
- 2025用戶服務(wù)合同
- 2025委托律師代理合同范本范文
- 土地轉(zhuǎn)讓居間合同
- 美容師勞動(dòng)合同書
- 消殺服務(wù)合同范文
- 2025公司用工合同范本
- 戰(zhàn)略合作協(xié)議書合同
- 小區(qū)監(jiān)控改造方案
- 第1課+古代亞非(教學(xué)設(shè)計(jì))【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- 新教科版六年級(jí)下冊(cè)科學(xué)全冊(cè)教案
- 物業(yè)客服管家的培訓(xùn)課件
- 2024年房地產(chǎn)行業(yè)的樓市調(diào)控政策解讀培訓(xùn)
- 《統(tǒng)計(jì)學(xué)-基于Python》 課件全套 第1-11章 數(shù)據(jù)與Python語言-時(shí)間序列分析和預(yù)測
- 裝飾定額子目(河南省)
- 【高速鐵路乘務(wù)工作存在的問題及對(duì)策研究9800字】
- 北師大版英語課文同步字帖三年級(jí)下冊(cè)課文對(duì)話原文及翻譯衡水體英語字帖三年級(jí)起點(diǎn)
- GB/T 2550-2016氣體焊接設(shè)備焊接、切割和類似作業(yè)用橡膠軟管
- GB/T 21295-2014服裝理化性能的技術(shù)要求
評(píng)論
0/150
提交評(píng)論