freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]單片機(jī)原理與嵌入式系統(tǒng)設(shè)計(jì)——原理、應(yīng)用、protues仿真、實(shí)驗(yàn)設(shè)計(jì)第9章(編輯修改稿)

2024-11-12 23:15 本頁面
 

【文章內(nèi)容簡介】 號(hào) : 5個(gè)滴答超時(shí) */ } } job1 () _task_ 1 { while (1) { /*無窮循環(huán) */ counter1++。 /*counter1加 1 */ os_wait (K_TMO, 10, 0)。 /*等待超時(shí)信號(hào) : 10個(gè)滴答超時(shí) */ } } os_wait例 1: include /*RTX51 tiny functions amp。 defines*/ int counter0。 /*任務(wù) 0的計(jì)數(shù)器 */ int counter1。 /*任務(wù) 1的計(jì)數(shù)器 */ int counter2。 /*任務(wù) 2的計(jì)數(shù)器 */ int counter3。 /*任務(wù) 3的計(jì)數(shù)器 */ job0 () _task_ 0 { os_create_task (1)。 /*啟動(dòng)任務(wù) 1 */ os_create_task (2)。 /*啟動(dòng)任務(wù) 2 */ os_create_task (3)。 /*啟動(dòng)任務(wù) 3 */ while (1) { /*無窮循環(huán) */ counter0++。 /*counter0加 1 */ os_wait (K_TMO, 5, 0)。 /*等待超時(shí)信號(hào) : 5個(gè)時(shí)鐘報(bào)時(shí) */ } } job1 () _task_ 1 { while (1) { /*無窮循環(huán) */ counter1++。 /*counter1加 1 */ os_wait (K_TMO, 10, 0)。 /*等待超時(shí)信號(hào) : 10個(gè)時(shí)鐘報(bào)時(shí) */ } } os_wait例 2: job2 () _task_ 2 { while (1) { /*無窮循環(huán) */ counter2++。 /*counter2加 1 */ if ((counter2 amp。 0xFFFF) == 0){ /*如果 counter2=0 */ os_send_signal (3)。 /*發(fā)信號(hào)至任務(wù) 3 */ } } } job3 () _task_ 3 { while (1) { /*無窮循環(huán) */ os_wait (K_SIG, 0, 0)。 /*等待信號(hào) */ counter3++。 /*收到信號(hào)后, counter3加 1 */ } } os_wait例 2續(xù): 3.空閑任務(wù) 沒有任務(wù)準(zhǔn)備運(yùn)行時(shí), RTX51 TINY執(zhí)行一個(gè)空閑任務(wù)??臻e任務(wù)就是一個(gè)無限循環(huán)。 例如 SJMP $ 有些 8051兼容的芯片提供一種降低功耗的空閑模式,該模式停止程序的執(zhí)行,直到有中斷產(chǎn)生。在該模式下,所有的外設(shè)包括中斷系統(tǒng)仍在運(yùn)行。 RTX51 TINY允許在空閑任務(wù)中啟動(dòng)空閑模式(在沒有任務(wù)準(zhǔn)備執(zhí)行時(shí))。當(dāng) RTX51 TINY的定時(shí)滴答中斷(或其他中斷)產(chǎn)生時(shí),微控制器恢復(fù)程序的執(zhí)行。 空閑任務(wù)執(zhí)行的代碼在 。 如何使用 RTX51 TINY 編寫程序 使用 RTX51 TINY要實(shí)現(xiàn)下面三步: ( 1)編寫 RTX51程序 ( 2)編譯并連接程序 ( 3)測(cè)試和調(diào)試程序 1.包含文件 RTX51 TINY僅需要包含一個(gè)文件 ,所有的庫函數(shù)和常數(shù)都在該頭文件中定義。在建立多任務(wù)模塊的源文件中要包含: include 2.編程原則 ( 1)確保包含了 。 ( 2)不要建立 main( )函數(shù), RTX51 TINY有自己的 main( )函數(shù)。它會(huì)自動(dòng)地從任務(wù) 0開始運(yùn)行。如果用戶程序中包含有main( )函數(shù),則需要利用 os_create_task函數(shù)來啟動(dòng) RTX51實(shí)時(shí)操作系統(tǒng)。 ( 3)程序必須至少包含一個(gè)任務(wù)函數(shù)。 ( 4)中斷必須有效( EA = 1),在臨界區(qū),如果要禁止中斷時(shí)一定要小心。 ( 5)程序必須至少調(diào)用一個(gè) RTX51 TINY庫函數(shù)(像os_wait)。否則,連接時(shí)將不包含 RTX51 TINY庫。 ( 6) Task 0是程序中首先要執(zhí)行的函數(shù),必須在任務(wù) 0中調(diào)用os_create_task 函數(shù)以啟動(dòng)其他任務(wù)。 ( 7)任務(wù)函數(shù)必須是從不退出或返回的。任務(wù)必須用一個(gè)while(1)或類似的結(jié)構(gòu)重復(fù)。用 os_delete_task函數(shù)停止運(yùn)行的任務(wù)。 ( 8)必須在 181。Vision2中設(shè)置使用操作系統(tǒng) RTX51 TINY,或者在連接器命令行中指定。 實(shí)時(shí)或多任務(wù)應(yīng)用是由一個(gè)或多個(gè)執(zhí)行具體操作的任務(wù)組成的,RTX51 TINY支持最多 16個(gè)任務(wù)。 3.定義任務(wù) 任務(wù)就是一個(gè)簡單的 C函數(shù),返回類型為 void,參數(shù)列表為 void,并且用 _task_聲明函數(shù)屬性。 例 :1: void func (void) _task_ task_id 例 2: Void job0(void) _task_ 0 { while(1) { counter0++。 } } 編譯和連接 用 181。Vision2 IDE建立工程,添加 RTX51 TINY程序文件。 ( 1)打開如圖所示的目標(biāo)對(duì)話框選項(xiàng)(從 project菜單中選擇 Options for Target)。 ( 2)選擇 Target標(biāo)簽。 ( 3)從 Operating選項(xiàng)列表中選擇 RTX51 TINY,使用操作系統(tǒng)。 其他設(shè)置同非 RTX51 TINY一致。 調(diào)試 181。Vision2模擬器允許運(yùn)行和測(cè)試 RTX51 TINY應(yīng)用程序。 RTX51 TINY程序的加載和非 RTX51 TINY程序的加載是一樣的。無須指定特別的命令和選項(xiàng)。 啟動(dòng)調(diào)試后,一個(gè)核心的對(duì)話框顯示 RTX51 TINY核心和程序中任務(wù)的所有特征。從 Peripherals菜單中選擇 RTX51 TINY Tasklist顯示該對(duì)話框 實(shí)例 ——os_wait函數(shù)的使用 例 ,假設(shè)在AT89C52的 P1口接有 8個(gè) LED,使用 RTX51 TINY,編寫程序使 8個(gè) LED以不同的頻率閃爍。 分析:需要建立 9個(gè)任務(wù),初始化任務(wù)和 8個(gè) LED閃爍任務(wù),在初始化任務(wù)中建立 8個(gè) LED閃爍任務(wù),之后刪除自身。使用 os_wait函數(shù)等待超時(shí)進(jìn)行任務(wù)切換,修改 TIMESHARING禁止循環(huán)人為切換 RTX51 TINY提供的系統(tǒng)函數(shù) 1. isr_send_signal 概要: include char isr_send_signal(unsigned char task_id)。 /*信號(hào)發(fā)往的任務(wù) */ 描述: isr_send_signal函數(shù)給任務(wù) task_id發(fā)送一個(gè)信號(hào)。如果指定的任務(wù)正在等待一個(gè)信號(hào),則該函數(shù)使該任務(wù)就緒,但不啟動(dòng)它,信號(hào)存儲(chǔ)在任務(wù)的信號(hào)標(biāo)志中。該函數(shù)僅被中斷函數(shù)調(diào)用。 返回值:成功調(diào)用后返回 0,如果指定任務(wù)不存在,則返回 1。 例: include void tst_isr_send_signal(void) interrupt 2 { isr_send_signal(6)。 /*給任務(wù) 6發(fā)信號(hào) */ } 2. isr_set_ready 概要: include char isr_set_ready{ unsigned char task_id}。 /*使就緒的任務(wù) */ 描述:將由 task_id指定的任務(wù)置為就緒態(tài)。該函數(shù)僅被中斷函數(shù)調(diào)用。 返回值:無。 例: include void tst_isr_set_ready(void)interrupt 2 { isr_set_ready(1)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1