DSP

TMS320C6474学习总结(九)----GPIO中断调试

2019-07-13 15:57发布

GPIO模块 1. GPIO概述        通用输入/输出(GPIO)外设提供专用的通用引脚,可以配置为输入或输出。当将其配置为输出时,您可以向内部寄存器写入,以控制输出引脚上的状态驱动。当配置为输入时,您可以通过读取内部寄存器的状态来检测输入的状态。        另外,GPIO外设可以在不同的中断/事件生成模式下产生CPU中断和EDMA同步事件。 2. GPIO功能        可以使用GPIO方向寄存器(DIR)独立地将每个GPIO pin (GPn)配置为输入或输出。GPIO方向寄存器(DIR)指定每个GPIO信号的方向。逻辑0表示将GPIO引脚配置为输出,逻辑1表示输入。        当配置为输出模式时,对数据设置寄存器(SET_DATA)写1可以驱动对应的GPIO引脚为逻辑高状态,对数据清除寄存器(CLR_DATA)写1可以驱动对应的GPIO引脚为逻辑低的状态。每个引脚的输出状态也可以通过写数据输出寄存器(OUT_DATA)来直接控制。        对数据设置寄存器和数据清除寄存器写0不会对GPIO引脚产生影响。另外,如果GPIO引脚设置为输入引脚,对数据设置寄存器、数据清除寄存器以及数据输出寄存器进行写操作将不会产生效果。        对于将GPIO引脚配置成输入引脚时,读取数据输入寄存器(IN_DATA)的数据将会获取引脚的当前状态。 3. GPIO寄存器 Offset 缩写 寄存器功能 0008 BINTEN 中断使能寄存器 0010 DIR 方向寄存器 0014 OUT_DATA 数据输出寄存器 0018 SET_DATA 数据设置寄存器 001C CLR_DATA 数据清除寄存器 0020 IN_DATA 数据输入寄存器 0024 SET_RIS_TRIG 上升沿中断设置寄存器 0028 CLR_RIS_TRIG 上升沿中断清除寄存器 002C SET_FAL_TRIG 下降沿中断设置寄存器 0030 CLR_FAL_TRIG 下降沿中断清除寄存器 4. GPIO中断        每个GPIO pin (GPn)都可以配置为生成CPU中断(GPINTn)和EDMA同步事件(GPINTn)。中断和EDMA同步事件可以在上升沿、下降沿产生。边缘检测逻辑是与GPIO外围时钟同步的。        当使用GPIO引脚来产生中断和EDMA同步事件时,不需要将GPIO引脚设为输入引脚。当将GPIO 引脚配置为输入时,引脚上的状态转换会触发中断和EDMA同步事件。当将GPIO引脚配置为输出时,软件可以切换GPIO输出寄存器来改变引脚的状态,甚至触发中断和EDMA同步事件。 5. 配置GPIO中断        1. 配置GPIO中断               a.使能GPIO中断: BINTEN = 1;               b.配置引脚为输入引脚:DIR = 0x1<6. GPIO中断映射表       TMS320C6474共有16个GPIO引脚,对应16个中断事件,需要使用哪个引脚,就需要将引脚对应的时间映射至硬件中断上。 中断号 中断事件 中断描述 45 GPINT0 GPIO Interrupt 0 46 GPINT1 GPIO Interrupt 1 47 GPINT2 GPIO Interrupt 2 48 GPINT3 GPIO Interrupt 3 49 GPINT4 GPIO Interrupt 4 50 GPINT5 GPIO Interrupt 5 51 GPINT6 GPIO Interrupt 6 52 GPINT7 GPIO Interrupt 7 53 GPINT8 GPIO Interrupt 8 53 GPINT9 GPIO Interrupt 9 55 GPINT10 GPIO Interrupt 10 56 GPINT11 GPIO Interrupt 11 57 GPINT12 GPIO Interrupt 12 58 GPINT13 GPIO Interrupt 13 59 GPINT14 GPIO Interrupt 14 60 GPINT15 GPIO Interrupt 15