在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

            EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于uC/OS-II的變頻器結(jié)構(gòu)控制系統(tǒng)設(shè)計(jì)

            基于uC/OS-II的變頻器結(jié)構(gòu)控制系統(tǒng)設(shè)計(jì)

            作者: 時(shí)間:2011-01-20 來源:網(wǎng)絡(luò) 收藏

              任務(wù)延時(shí)是指任務(wù)執(zhí)行完畢處于掛起等待狀態(tài)到下一次重新運(yùn)行之間的時(shí)間間隔,它的單位是時(shí)鐘中斷節(jié)拍。由于OS_TICKS_PER_SEC為1000,每一拍為1ms。每個(gè)任務(wù)的調(diào)用間隔不能小于一個(gè)節(jié)拍,它將影響模擬量的采樣頻率。各個(gè)任務(wù)的屬性定義如表1所示。

              

              1.4 任務(wù)間的通信

              各個(gè)任務(wù)是通過搶占CPU的使用權(quán)來運(yùn)行的,它們之間存在一定的邏輯關(guān)系,彼此互相聯(lián)系又互相制約。信號(hào)量、郵箱、消息隊(duì)列等功能為實(shí)現(xiàn)任務(wù)間通信提供了有力工具,它們的使用方法靈活多變,如用信號(hào)量設(shè)置事件標(biāo)志,喚醒任務(wù)、用郵箱在任務(wù)間傳遞參數(shù)、用消息隊(duì)列的循環(huán)尋址功能進(jìn)行模擬通道的數(shù)據(jù)采集等。本文設(shè)計(jì)了兩個(gè)信號(hào)量,在系統(tǒng)運(yùn)行開始后,任務(wù)TASK_AD檢測(cè)直流側(cè)電壓的大小。當(dāng)電壓未超過設(shè)定值時(shí),發(fā)出信號(hào)DC_NORM喚醒任務(wù)Task_NORMAL;當(dāng)電壓高出設(shè)定值時(shí),發(fā)出信號(hào)DC_OVER喚醒任務(wù)Task_FEBACK。雖然這兩個(gè)任務(wù)基于不同的控制結(jié)構(gòu),采用不同的算法,但都要使用PWM輸出和SPI通信口,所以在喚醒一個(gè)任務(wù)的同時(shí)必須讓另外一個(gè)任務(wù)掛起。這里引入了互斥型信號(hào)量T_MUTEX實(shí)現(xiàn)這個(gè)功能。得到T_MUTEX信號(hào)的任務(wù)將獨(dú)自占有共享資源的使用權(quán),兩個(gè)任務(wù)不會(huì)因資源沖突而同時(shí)掛起,解決了任務(wù)間優(yōu)先級(jí)反轉(zhuǎn)問題,避免了系統(tǒng)功能失效。任務(wù)間邏輯關(guān)系如圖2所示。

              

              操作系統(tǒng)為任務(wù)間通信提供了多種途徑,但最簡(jiǎn)單有效的方法是共享全局變量。本文使用共享全局變量的方法實(shí)現(xiàn)了顯示任務(wù)與鍵盤中斷服務(wù)之間的通信,代碼如下:

              鍵盤中斷:

              static void KeyboardISR(void)

              {

              UWord16 cpu_sr;

              OS_ENTER_CRITICAL(); //臨界區(qū)代碼保護(hù)

              asm{

              move X:$0FB7,A1 //讀鍵盤中斷狀態(tài)表

              move A1,state1 //將中斷狀態(tài)放入全局變量

              };

              OS_EXIT_CRITICAL(); //臨界區(qū)代碼保護(hù)結(jié)束

              }



            關(guān)鍵詞:

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉