天天看点

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》学习笔记。

继续阅读