主题中讨论的其他器件:MOTORWARE
我正在从事一个 Motorware 项目、需要使中断正常工作。 第一个工作顺序是让外部中断正常工作。 下面的代码片段看起来应该可以完成工作、但不会令人愉快。 我在使用 MotorWare 调用时、遵循28069 TRM 中的程序。 请提供任何帮助。 我在引脚上看到从高电平到低电平的转换、但 ISR 无法切换 TEST 位。 如果我关闭 ISR 并轮询输入引脚、切换转换全部上的输出位是很好的。
它位于 main.c 中
//设置外部中断
GPIO_setExtInt (obj->gpioHandle、GPIO_Number_13、CPU_ExtIntNumber_1);
PI_enableExtInt (obj->压 电式、cpu_ExtIntNumber_1);
PI_setExtIntPolarity (obj->压 电极、CPU_ExtIntNumber_1、PI_ExtIntPolarity_FallingEdge);
cpu_enableInt (obj->cpuHandle、cpu_IntNumber_4);
HAL_initIntVectorTable (halHandle);
cpu_enableGlobalInts (obj->cpuHandle);
这就是矢量表的设置方式:
//! \brief 初始化中断矢量表
//! \details 将 ADCINT1指向 mainISR
//! \param[in]处理硬件抽象层(HAL)句柄
静态内联 void HAL_initIntVectorTable (HAL_Handle handle)
{
HAL_Obj * obj =(HAL_Obj *)句柄;
PIE_Obj * PIE =(PIE_Obj *) obj->压 电式;
ENABLE_PROTECTED 寄存器_WRITE_MODE;
//PIe->ADCINT1 =&mainISR;
PIe->XINT1 =&HallISR;
disable_protected_register_write_mode;
返回;
}// HAL_initIntVectorTable()函数结束
我将首先承认我不是最锋利的工具、但这应该起作用。 否?