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

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<<num;(bit0-bit15对应16个引脚)

              c.配置GPIO为上升沿触发/下降沿触发:  SET_RIS_TRIG =  0x1<<num;              (bit0-bit15对应16个引脚)

       2. 查阅中断映射表,获取对应GPIO通道的中断号,将中断号和中断服务函数名配置在.tcf文件中(注意函数名前加上下划线,在Dispatcher中勾选use dispatcher ,在interrupt  mask中选择all)

       3. 开启全局中断使能

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

 

猜你喜欢

转载自blog.csdn.net/m0_37765662/article/details/82909882