GPIO使用方法_DSP_TMS320C6748

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

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值