新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 混合信號嵌入式設計實驗指南-數字實驗之:實驗2—中斷

        混合信號嵌入式設計實驗指南-數字實驗之:實驗2—中斷

        作者: 時間:2013-12-26 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/256987.htm

        1.2.6 實驗2F—強迫一個

        步驟1:創建新的工程。?復制Lab2E,將其命名為Lab2F。?所有參數和跳線連接保持一樣。?重新生成應用。有時候,通過軟件強迫產生一個是非常有利的。通過設置的INT_CLRx

        寄存器能實現這個功能。對于休眠定時器,這是INT_CLR0 的第6 位。為了保證該位不是偶然設置的,必須設置使能軟件中斷位(ENSWINT),該位為INT_MSK3 寄存器的第7 位。表1.4 給出了操作INT_CLRx 位的可能結果。

        1.4 INT_CLRx ENSWINT 行為/結果表

        行為

        結果

        從INT_CLRx

        位讀一個0

        從INT_CLRx

        位讀一個1

        當ENSWINT=0,寫0

        到INT_CLRx

        當ENSWINT=0,寫1

        到INT_CLRx

        當ENSWINT=1,寫0

        到INT_CLRx

        當ENSWINT=1,寫1

        到INT_CLRx

        練習2F-1:在前面的實驗中,沒有通過添加代碼設置ENSWINT 為0 來清除已經發布的中斷,為什么這樣做?

        步驟2:修改代碼。

        添加代碼使能ENSWINT。添加控制循環代碼強制休眠定時器發布一個中斷。

        練習2F-2:現在,這個程序如何工作??重新生成工程,重新建立工程,下載到Eval1 板子,運行。練習2F-3:現在操作是否和你的預測一樣?

        1.2.7 實驗2G—創建非常小的中斷服務例程

        步驟1:創建新的工程。

        復制Lab2F,將其命名為Lab2G。?設置Sleep_Timer 全局參數為64Hz 。

        所有其他參數和跳線連接保持一樣。有時候,中斷服務程序是很小的,這樣它就能駐留在用于它的輸入向量的4 個字節空間。

        步驟2:修改代碼。?刪除main.c 中的中斷句柄。創建全局單字節變量bCount 。?刪除使能ENSWINT 的代碼。

        刪除強制一個中斷的代碼。

        打開boot.tpl ,添加匯編代碼到休眠定時器中斷向量位置,用于減這個新的變量

        (確保保留reti)。練習2G-1 :這個中斷句柄占用多少個字節?

        在控制循環中添加代碼:

        — 打開所有的四個燈。

        —設置bCount 為255 。

        —等待bCount 為0。

        —關閉LED4 。

        —設置bCount 為192 。

        —等待bCount 為0。

        —關閉LED3 。

        —設置bCount 為128 。

        —等待bCount 為0。

        —關閉LED2 。

        —設置bCount 為64。

        —等待bCount 為0。

        —關閉LED1 。

        —設置bCount 為32。

        —等待bCount 為0。練習2G-2 :輸出行為將如何??重新生成應用程序,重新建立工程,下載到Eval1 板子,并運行。練習2G-3 :真正的操作和預測的一樣嗎?


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 铁岭县| 康马县| 五家渠市| 玉林市| 靖江市| 故城县| 新竹县| 类乌齐县| 喀喇| 昭通市| 福州市| 威信县| 德安县| 山丹县| 大田县| 湄潭县| 大港区| 定远县| 宜城市| 营山县| 莎车县| 临西县| 鄂州市| 湛江市| 唐河县| 辉县市| 舒城县| 明溪县| 吉林市| 南通市| 西城区| 雅江县| 邹平县| 邵东县| 龙泉市| 城步| 荔浦县| 庄河市| 攀枝花市| 彭泽县| 腾冲县|