gpio是多功能復用引腳,可以配置成通用的數字i/o工作模式,也可以配置成外設i/o工作模式。每個引腳除了通用數字i/o功能外,還有三個外設功能。
,gpio分為三組進行管理
gpio實現哪種功能是通過功能暫存器來設定的,設定方式如下表所示(此處僅列舉gpamux),同一時刻,每個暫存器只能選擇同一種功能,配置例子如下所示:
用來表示該i/o口是作為輸入引腳還是輸出引腳,例項如下所示:
gpioctrlregs.gpadir.bit.gpio0=
0;//gpio為輸入引腳
gpioctrlregs.gpadir.bit.gpio0=
1;//gpio為輸出引腳
可以通過寫操作改變乙個輸出引腳的狀態,但是會引起其他引腳的不穩定,讀乙個引腳的電平狀態不會影響其他引腳,比較穩定,讀取引腳電平狀態示例如下:
1
如果想讓通用數字i/o引腳輸出低電平,又不影響其它引腳,只需要在gpxclear暫存器的相應位寫1,示例如下所示:
gpiodataregs.gpaclear.bit.gpio0=1;
//gpio0置0
如果想讓通用數字i/o引腳輸出高電平,又不影響其它引腳,只需要在gpxset暫存器的相應位寫1,示例如下所示:
gpiodataregs.gpaset.bit.gpio0=1;
//gpio0置1
向電平翻轉暫存器中相應的位寫1會講引腳當前的電平翻**
gpiodataregs.gpatoggle.bit.gpio0=1;
//gpio0電平翻轉,前提是配稱為i/o引腳,方向輸出
DSP28335 外設時鐘
tms320f28335通過外部時鐘訊號 osc和pll產生倍頻時鐘訊號clkin後,clkin經過cpu後產生時鐘sysclkout clkin和sysclkout頻率是一樣的 sysclkout給各個片內外設提供時鐘訊號。為了實現低功耗和提供高低頻率時鐘訊號,需要把sysclkout進一步分頻,...
DSP28335系統時鐘
鎖相環是一種控制晶振使其下你跟對於參考訊號保持恆定的電路。主要作用是通過軟體實時配置片上外設時鐘 譬如當30mhz的oscclk訊號經鎖相環倍頻後,倍頻倍數可通過pllcr div 設定,可設定為10,經過pll後的訊號變為300mhz,因為28335的時鐘頻率為150mhz,所以需要將pllsts...
DSP28335進入非法中斷
進入非法中斷是因為cpu核心讀到了非法指令,之所以會讀到非法指令,一般是因為程式跑飛。程式跑飛不一定是軟體問題,硬體上的時鐘電源不穩定也會導致這個問題。1.程式中是否使用了delay us 函式,如果是,是否已經copy到ram中?2.檢查是否開了足夠的stack空間?3.進入程式後,先單步執行,看...