Blackfin 系列處理器的初學教程很少,很多初學者不知如何來上手這款DSP。為方便初學者更快的學會使用DSP,成為DSP 高手,本章節(jié)將詳細介紹DSP 的接口使用,以最基礎的示例來詮釋Blackfin 的魅力。
IO作為任何一個處理器都會有的最最基礎外設接口,Blackfin是如何的?
ADSP-BF53x 處理器上有16 個Programmable Flag 接口,簡稱PF 接口,這些接口就是通常所有的IO 接口,通過寄存器配置,可以輸出電平和感知接口電平,每一個PF 接口都可以作為外部中斷接口。
在單片機上,通常如果設置一個 IO 接口輸出時,直接將輸出信號值付給該接口,如果作為輸入時,直接通過該接口讀取即可。Blackfin 處理器的IO 使用與單片機不同,在使用前必須對該接口進行初始化,如告知接口的方向,如配置為輸出接口,則直接配置輸出接口電平信號,如配置為輸入接口,需打開輸入使能開關,配置輸出信號觸發(fā)方式,是否中斷觸發(fā),是否雙極性觸發(fā)等等。初始化完成后,才能使用PF接口。
接口寄存器說明如下所示:

讓我們來分析一個典型代碼:
輸入接口配置:
將 PF0 接口配置為輸入接口,并且讀出接口電平狀態(tài)。
*pFIO_DIR &= ~PF0; //設置PF0 為輸入
*pFIO_INEN |= PF0; //輸入使能
i = *pFIO_FLAG_D; //讀取數(shù)據(jù)
輸出接口配置:
將 PF0 接口配置為輸出接口,使用兩種方式設置PF0 輸出高低電平。
*pFIO_DIR |= PF0; //設置PF0 為輸出
*pFIO_FLAG_S |= PF0; //PF0 腳置高
*pFIO_FLAG_C |= PF0; //PF0 腳置低
*pFIO_FLAG_D |= PF0; //PF0 腳置高
*pFIO_FLAG_D &= ~PF0; //PF0 腳置低
輸入就實現(xiàn)了讀取PF0 接口狀態(tài)并打印出PF 接口狀態(tài)數(shù)據(jù)。輸出則實現(xiàn)了通過PF0 接口不斷的輸出高低變化的電平。你看懂了嗎?稍后補充一下這倆例子程序源碼。
上面提到的2個IO的例程源碼奉上:
GPIO IN:鏈接: http://pan.baidu.com/s/1dDlE8Dj 密碼: q95f
GPIO OUT:鏈接: http://pan.baidu.com/s/1eQ7rqsM 密碼: b0w5
下一章中斷則是跟IO緊密相連的技術點,Blackfin的16個PF口均可做中斷來使用!下一章就有教學視頻的詳細講解啦,未完待續(xù)... |