天天看點

GPIO使用方法_DSP_TMS320C6748 1.GPIO作為輸出信号2.GPIO作為輸入信号3.GPIO作為事件中斷信号4.GPIO作為觸發EDMA傳輸資料的信号

GPIO一般有4種應用情況,分别是GPIO作為輸出信号、GPIO作為輸入信号、GPIO作為事件中斷信号、GPIO作為觸發EDMA傳輸資料信号。

 1.GPIO作為輸出信号

GPIO輸出高低電平是GPIO最常用的一種方法。

要使GPIO作為輸出,首先通過DIR寄存器配置GPIO方向,DIR寄存器值預設為1,即預設是輸入方向,作為輸出時,需将DIR寄存器裡的bit置零。

方向配置完成後再配置GPIO狀态:

  • 第一種方法:配置OUT_DATA寄存器,相關bit寫1,對應GPIO輸出高電平;相關bit寫0,對應GPIO輸出低電平;
  • 第二種方法:配置SET_DATA和CLR_DATA寄存器,往SET_DATA寄存器相關bit寫入1,GPIO輸出高電平;往CLR_DATA寄存器寫入0,GPIO輸出低電平。

>>   配置GPIO作為輸出信号一般步驟:

  • 使能GPIO PSC電源;
  • 配置GPIO引腳複用(PINMUX);
  • 配置GPIO為輸出方向(DIR);
  • 配置GPIO輸出狀态(SET_DATA、SET_DATA/CLR_DATA)。

2.GPIO作為輸入信号

GPIO作為輸入信号一般用來擷取外部信号狀态,這時需要讀取相關引腳的電平狀态,即IN_DATA寄存器,不能讀取OUT_DATA寄存器。

>>   配置GPIO作為輸入信号一般步驟:

  • 使能GPIO PSC電源;
  • 配置GPIO引腳複用(PINMUX);
  • 配置GPIO為輸入方向(DIR);
  • 讀取GPIO狀态(IN_DATA)。

3.GPIO作為事件中斷信号

很多情況,DSP連接配接的外設通過一個電平信号來觸發DSP進行操作,GPIO中斷是一個較為重要的功能。使用GPIO中斷時需要将GPIO配置為輸入方向,然後配置GPIO觸發方式(上升沿觸發或下降沿觸發),觸發方式通過SET_RIS_TRIG、CLR_RIS_TRIG、SET_FAL_TRIG和CLR_FLA_TRIG這4個寄存器來配置。配置好觸發方式後,把GPIO中斷時間映射到CPU中斷上。

>>   中斷觸發方式有4種情況情況:

  • 上升沿觸發:對SET_RIS_TRIG、CLR_FLA_TRIG寄存器相關bit置1;
  • 下降沿觸發:對SET_FAL_TRIG、CLR_RIS_TRIG寄存器相關bit置1;
  • 上升沿和下降沿都觸發:對SET_RIS_TRIG和SET_FAL_TRIG寄存器相關bit置1;
  • 不觸發(禁用GPIO中斷觸發):對CLR_FLA_TRIG和CLR_RIS_TRIG寄存器相關bit置1。

>>   配置GPIO中斷的一般步驟:

  • 使能GPIO PSC電源;
  • 配置GPIO引腳複用(PINMUX);
  • 配置GPIO為輸入方向(DIR);
  • 配置GPIO觸發方式;
  • 配置GPIO中斷時間映射到CPU中斷。

4.GPIO作為觸發EDMA傳輸資料的信号

GPIO還可以作為觸發EDMA資料傳輸的事件源,此時與把GPIO作為中斷方式使用類似,隻不過最後觸發的不是CPU中斷而是觸發EDMA傳輸資料。

>>   GPIO觸發EDMA傳輸資料的一般配置步驟:

  • 使能GPIO PSC電源;
  • 配置GPIO引腳複用(PINMUX);
  • 配置GPIO為輸入方向(DIR);
  • 配置GPIO觸發方式;
  • 配置GPIOEDMA觸發事件為GPIO;
  • 配置EDMA部分。

 本文為王斌 -《TMS320C6748 DSP》學習筆記。

繼續閱讀