28335 GPIO學習

GPIO學習涉及到最簡單的程序-點燈。參考文章:《TMS320F28335項目開發記錄8_28335之GPIO引腳

1、GPxMUX寄存器(功能選擇寄存器)

每個I/O口都有一個功能選擇寄存器,功能選擇寄存器主要用於選擇I/O工作在特殊功能還是通用數組I/O模式。在復位時,所有GPIO配置成通用數字模式。

1)如果GPxMUX.bit = 0,配置成通用數字I/O功能;

2)如果GPxMUX.bit = 1,配置成特殊外設功能口(如SCI、CAN);

I/O的輸入功能和外設的輸入通道總是被使能的,輸出通道是通用數組I/O和特殊外設複用的。如果引腳配置成通用數組I/O功能,相應的外設功能將被禁止。

2、GPxDIR(方向控制寄存器)

每個I/O口都有數據方向控制寄存器,數據方向控制寄存器用於設置通用數字I/O爲輸入還是輸出口,在復位時,引腳的默認狀態爲輸入狀態。

1)如果GPxDIR.bit = 0,引腳設置爲通用數字量輸入;

2)如果GPxDIR.bit = 1,引腳設置爲通用數字量輸出;

復位時,GPxMUX和GPxDIR默認值都爲0,所以在復位時,引腳的默認狀態爲數字I/O輸入。

3、GPxDAT寄存器(數據寄存器)

每個I/O口都有一個數據寄存器,數據寄存器是可讀可寫寄存器。

1)I/O設置爲輸出功能時,如果GPxDAT.bit = 0,那麼操作將會使相應的引腳拉低;

2)I/O口設置爲輸入功能時,如果GPxDAT.bit = 0,反映相應的引腳狀態爲低電平;

3)I/O口設置爲輸出功能時,如果GPxDAT.bit = 1,那麼操作將會使相應的引腳拉高;

4)I/O口設置爲輸入功能時,如果GPxDAT.bit = 1,反映相應的引腳狀態爲高電平。

需要說明的是,當用戶試圖改變一個數字I/O的狀態時,不要改變另一個I/O的引腳狀態。

4、GOxSET寄存器(置位寄存器)

每個I/O口都有一個置位寄存器,置位寄存器是隻寫寄存器,任何讀操作都返回0,如果相應的引腳配置成數據量輸出,寫1後相應的引腳會置高,寫0時沒有反映。

1)如果GPxSET.bit = 0,沒有影響;

2)引腳設置爲輸出時,如果GPxSET.bit = 1,那麼操作將會使引腳置高。

5、GPxCLEAR寄存器(清除寄存器)

每個I/O口都有一個清除寄存器,清除寄存器是隻寫寄存器,任何讀操作都返回0。

1)如果GPxCLEAR.bit = 0,沒有影響;

2)引腳設置爲輸出時,如果GPxCLEAR.bit = 1,將相應的引腳置成低電平。

6、GPxTOGGLE寄存器(取反觸發寄存器)

每個I/O口都有一個取反觸發寄存器,該寄存器是隻寫寄存器,任何讀操作都返回0。

1)如果GPxTOGGLE.bit = 0,沒有影響;

2)引腳設置爲輸出時,如果GPxTOGGLE.bit = 1,那麼操作將使相應的引腳取反。



操作管腳的思路:1、選擇寄存器MUX,最主要是選擇功能。DSP管腳都是複用的

2、方向寄存器:是輸入還是輸出

3、數據:是0還是1

4、置位、清零、取反都有專用的寄存器


程序太簡單,不做累述

參考文章中值得學習

  1. #define   LED1  GpioDataRegs.GPBDAT.bit.GPIO60  
  2. #define   LED2  GpioDataRegs.GPBDAT.bit.GPIO61  



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章