主题中讨论的其他器件: EK-TM4C1294XL
您好!
我正在使用 TM4C129ENCPDT MCU 开发其中一个需要集成 TI RTOS 的项目。 为此、我需要为2个 GPIO 引脚配置硬件中断。 我按照用户指南中所示进行配置、但中断不起作用。 我在没有使用 TI RTOS 的情况下进行了中断、但在使用 RTOS 的情况下无法实现。
如何将 GPIO 配置为外部硬件中断?
2.可以分享任何样例代码吗?
TI RTOS 库中的函数不会同时为端口和引脚提供参数。 其中是否有任何具体的声明? 或者如何声明端口和引脚?
GPIO_setConfig (GPIO_PIN_0、GPIO_CFG_IN| GPIO_CFG_IN_INT_Both_EDGE);
这是用于配置 GPIO 引脚的功能之一。 这种方式是否正确? 端口的概念?
下面是我的代码
#define CT_SESR GPIO_PORTM_BASE | GPIO_PIN_0
BOOL MOTOR_ON;
hwi_handle hwiHandle;
/* GPIO 中断处理程序*/
void gpioInterruptHandler (uintptr_t arg)
{
uint32_t status = GPIOIntStatus (GPIO_PORTM_BASE、TRUE);
if (status 和(GPIO_PORTM_BASE | GPIO_PIN_0 | GPIO_PIN_7))
{
//找到中断状态
MOTOR_ON =!(GPIOPinRead (GPIO_PORTM_BASE、GPIO_PIN_0)| GPIOPinRead (GPIO_PORTM_BASE、GPIO_PIN_7);
//清除中断标志
GPIO_clearInt (CT_SESR);
}
}
int main (空)
{
/*初始化 TI-RTOS 和驱动程序*/
Board_initGeneral();
/*初始化 GPIO 引脚*/
GPIO_init ();
GPIO_setConfig (CT_SESR、GPIO_CFG_INPUT | GPIO_CFG_IN_INT_Both_EDGE);
GPIO_setCallback (CT_SESR、gpioInterruptHandler);
///*启用 GPIO 中断*/
Hwi_Params hwiParams;
Hwi_Params_init (&hwiParams);
hwiParams.arg = CT_SESR;
hwiHandle = Hwi_create (INT_GPIOM、gpioInterruptHandler、&hwiParams、NULL);
GPIO_enableInt (CT_SESR);
/*启动 TI-RTOS 调度程序*/
BIOS_start();
返回0;
}