新聞中心

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

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

作者: 時間:2013-12-26 來源:網(wǎng)絡 收藏

本文引用地址:http://www.2s4d.com/article/256987.htm

1.2.6 實驗2F—強迫一個

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

寄存器能實現(xiàn)這個功能。對于休眠定時器,這是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 來清除已經發(fā)布的中斷,為什么這樣做?

步驟2:修改代碼。

添加代碼使能ENSWINT。添加控制循環(huán)代碼強制休眠定時器發(fā)布一個中斷。

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

1.2.7 實驗2G—創(chuàng)建非常小的中斷服務例程

步驟1:創(chuàng)建新的工程。

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

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

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

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

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

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

在控制循環(huán)中添加代碼:

— 打開所有的四個燈。

—設置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 下一頁

評論


相關推薦

技術專區(qū)

關閉