1.前言
在上一節(jié)中,我們進(jìn)行了系統(tǒng)初始化,對(duì)時(shí)鐘源進(jìn)行分頻倍頻得到所需的系統(tǒng)時(shí)鐘。但我漏了重點(diǎn),在配置前需要包含系統(tǒng)級(jí)頭文件#include "DSP28x_Project.h",可以把它理解成芯片數(shù)據(jù)包,封裝好了外設(shè)及系統(tǒng)的寄存器。
這一節(jié)我們進(jìn)行系統(tǒng)配置的最后一個(gè)環(huán)節(jié),GPIO及中斷初始化配置。
2.Initialize GPIO
通常我們的DSP28335是作為一個(gè)電子電路系統(tǒng)的主控芯片,其外圍掛載了很多器件或電路。在用戶程序開(kāi)始工作前,通常我們需要將IO口初始化成已知電位,且可根據(jù)電路情況進(jìn)行調(diào)整。
上圖是TI官方的例程示范,根據(jù)需要調(diào)整GPIO初始化函數(shù)中的相關(guān)配置,達(dá)到初始化的目的。
這一環(huán)節(jié)的作用是為了避免我們后續(xù)初始化中斷向量表后直接有中斷產(chǎn)生的情況(意思就是我們的用戶程序還沒(méi)運(yùn)行就有未知的中斷發(fā)生,顯然不是我們預(yù)期的結(jié)果)。
首先關(guān)閉所有中斷。
然后初始化中斷控制寄存器。
28335有12組中斷控制寄存器,一一對(duì)應(yīng)著IE的12個(gè)中斷。
禁止CPU中斷,清除CPU中斷標(biāo)志位。
在這里很多人可能會(huì)有疑問(wèn),這個(gè)PIE與IE到底是什么,怎么都要初始化?其實(shí),CPU一次只能執(zhí)行一個(gè)中斷,當(dāng)我們同時(shí)打開(kāi)多個(gè)中斷并都產(chǎn)生中斷標(biāo)志時(shí),我們就需要對(duì)其進(jìn)行管理,而PIE是中斷的控制器,能夠依據(jù)用戶設(shè)置對(duì)中斷進(jìn)行管理。
上圖非常清晰地體現(xiàn)了PIE與IE的關(guān)系。
4.初始化PIE向量表
PIE可管理96個(gè)中斷,那么這96個(gè)中斷的中斷服務(wù)函數(shù)的入口地址我們需要進(jìn)行指定,PIE中斷向量表存儲(chǔ)相對(duì)應(yīng)中斷服務(wù)函數(shù)的入口地址。在某個(gè)中斷服務(wù)函數(shù)需要運(yùn)行時(shí)PIE將查詢中斷向量表,并將表中入口地址賦予CPU中斷執(zhí)行。
上圖是PIE管理的中斷類型及其向量表偏移地址。
上圖是PIE部分組的中斷向量地址。
一般調(diào)用InitPieVectTable()函數(shù)將中斷服務(wù)函數(shù)入口地址存入中斷向量表中對(duì)應(yīng)位置。在后續(xù)的用戶程序中,我們可以靈活的修改默認(rèn)的中斷服務(wù)函數(shù),但是要重新刷新入口地址(后續(xù)用到時(shí)詳細(xì)說(shuō)明)。
5.用戶代碼
系統(tǒng)初始化在這里已經(jīng)全部完成,接下來(lái)就是用戶代碼。
我們根據(jù)工程需要初始化相關(guān)外設(shè),編寫(xiě)用戶程序?qū)崿F(xiàn)相關(guān)功能。然后就到了自由發(fā)揮的大舞臺(tái)嘍!
截止到目前為止,DSP28335的工程創(chuàng)建、系統(tǒng)初始化配置都已經(jīng)完成了,接下來(lái)我們將開(kāi)始系統(tǒng)模塊和常用外設(shè)的學(xué)習(xí)。
-
寄存器
+關(guān)注
關(guān)注
31文章
5427瀏覽量
123709 -
中斷
+關(guān)注
關(guān)注
5文章
904瀏覽量
42581 -
GPIO
+關(guān)注
關(guān)注
16文章
1279瀏覽量
53701 -
DSP28335
+關(guān)注
關(guān)注
22文章
59瀏覽量
41349 -
時(shí)鐘源
+關(guān)注
關(guān)注
0文章
97瀏覽量
16264
發(fā)布評(píng)論請(qǐng)先 登錄
DSP28335的_程序設(shè)計(jì)步驟
一個(gè)新手對(duì)stm32啟動(dòng)和中斷向量表的理解
怎么理解中斷向量?
中斷向量表里有什么
設(shè)置中斷向量表的過(guò)程
DSP28335的應(yīng)用是什么
dsp28335開(kāi)發(fā)板中文資料匯總(dsp28335最小系統(tǒng)_引腳圖_封裝_初始化程序)

ARM中斷向量表與響應(yīng)流程的系列資料詳細(xì)說(shuō)明

一文了解Cortex-M中斷向量表對(duì)齊原則

如何智能設(shè)置中斷向量表?| 簡(jiǎn)單實(shí)用技能

DSP28335學(xué)習(xí)——系統(tǒng)初始化

DSP28335學(xué)習(xí)筆記(5):GPIO介紹及使用

評(píng)論