主题中讨论的其他器件:C2000WARE、 TMS320F28377S、
您好!
我正在尝试创建一个非常简单的 ISR。 当 GPIO 引脚上有下降沿时、我只需要中断。 为了测试这一点、我编写了下面看到的代码并将"勤奋模拟发现"连接到引脚、以便我可以控制引脚的数字电压。
我的代码如下所示。 它使用 C2000Ware 下载中的函数(并基于中断_ex1_external 示例)。
请注意、Interrupt_ex1_external 未更改似乎也不起作用。
void General_Setup()
{
//初始化设备时钟和外设
device_init();
/* 修改系统时钟
* Device.h -> DEVICE_setClock_CFG
* SYSCTL_IMULT (40)
* SYSCTL_FMULT_0
* SYSCTL_SYSDIV (4)
* -> 100MHz
* Device.c ->第88行
* SYSCTL_LSPCLK_PRESCALE_4
* -> 25MHz
*
//禁用引脚锁定并启用内部上拉。
DEVICE_initGPIO();
//初始化 PIE 并清除 PIE 寄存器。 禁用 CPU 中断。
interrupt_initModule();
//使用指向 shell 中断的指针初始化 PIE 矢量表
//服务例程(ISR)。
interrupt_initVectorTable();
//启用全局中断(INTM)和实时中断(DBGM)
EINT;
ERTM;
}
//中断
void interrupt_init()
{
Dint;
interrupt_initModule();
interrupt_initVectorTable();
INTERRUPT_REGTER (INT_XINT1、&ISR_DRDY_XINT1);
INTERRUPT_ENABLE (INT_XINT1);
EINT;
GPIO_setDirectionMode (ADC_DRDY、GPIO_DIR_MODE_IN);
GPIO_setPinConfig (GPIO_86_GPIO86);
GPIO_setQualificationMode (ADC_DRDY、GPIO_QUAL_异 步);
GPIO_setInterruptPin (ADC_DRDY、GPIO_INT_XINT1);
GPIO_setInterruptType (GPIO_INT_XINT1、GPIO_INT_TY_FALLING_EDGE);
GPIO_enableInterrupt (GPIO_INT_XINT1);
}
中断空 ISR_DRDY_XINT1 (空)
{
count++;
INTERRUPT_clearACKGROUP (INTERRUPT_ACK_Group1);
}
void main (void)
{
General_Setup();
interrupt_init();
while (1);
}
此致、
Seth Kittles
