Blackfin 系列處理器的初學(xué)教程很少,很多初學(xué)者不知如何來上手這款DSP。為方便初學(xué)者更快的學(xué)會(huì)使用DSP,成為DSP 高手,本章節(jié)將詳細(xì)介紹DSP 的接口使用,以最基礎(chǔ)的示例來詮釋Blackfin 的魅力。
IO作為任何一個(gè)處理器都會(huì)有的最最基礎(chǔ)外設(shè)接口,Blackfin是如何的?
ADSP-BF53x 處理器上有16 個(gè)Programmable Flag 接口,簡稱PF 接口,這些接口就是通常所有的IO 接口,通過寄存器配置,可以輸出電平和感知接口電平,每一個(gè)PF 接口都可以作為外部中斷接口。
在單片機(jī)上,通常如果設(shè)置一個(gè) IO 接口輸出時(shí),直接將輸出信號(hào)值付給該接口,如果作為輸入時(shí),直接通過該接口讀取即可。Blackfin 處理器的IO 使用與單片機(jī)不同,在使用前必須對(duì)該接口進(jìn)行初始化,如告知接口的方向,如配置為輸出接口,則直接配置輸出接口電平信號(hào),如配置為輸入接口,需打開輸入使能開關(guān),配置輸出信號(hào)觸發(fā)方式,是否中斷觸發(fā),是否雙極性觸發(fā)等等。初始化完成后,才能使用PF接口。
接口寄存器說明如下所示:
讓我們來分析一個(gè)典型代碼:
輸入接口配置:
將 PF0 接口配置為輸入接口,并且讀出接口電平狀態(tài)。
*pFIO_DIR &= ~PF0; //設(shè)置PF0 為輸入
*pFIO_INEN |= PF0; //輸入使能
i = *pFIO_FLAG_D; //讀取數(shù)據(jù)
輸出接口配置:
將 PF0 接口配置為輸出接口,使用兩種方式設(shè)置PF0 輸出高低電平。
*pFIO_DIR |= PF0; //設(shè)置PF0 為輸出
*pFIO_FLAG_S |= PF0; //PF0 腳置高
*pFIO_FLAG_C |= PF0; //PF0 腳置低
*pFIO_FLAG_D |= PF0; //PF0 腳置高
*pFIO_FLAG_D &= ~PF0; //PF0 腳置低
輸入就實(shí)現(xiàn)了讀取PF0 接口狀態(tài)并打印出PF 接口狀態(tài)數(shù)據(jù)。輸出則實(shí)現(xiàn)了通過PF0 接口不斷的輸出高低變化的電平。你看懂了嗎?稍后補(bǔ)充一下這倆例子程序源碼。
上面提到的2個(gè)IO的例程源碼奉上:
GPIO IN:鏈接: http://pan.baidu.com/s/1dDlE8Dj 密碼: q95f
GPIO OUT:鏈接: http://pan.baidu.com/s/1eQ7rqsM 密碼: b0w5
下一章中斷則是跟IO緊密相連的技術(shù)點(diǎn),Blackfin的16個(gè)PF口均可做中斷來使用!下一章就有教學(xué)視頻的詳細(xì)講解啦,未完待續(xù)... |