Part Number:AM5728
A15基本的IO口配置没问题了,现在准备开始跑中断函数,在pdk_am57xx_1_0_17安装目录下找到了设置中断向量表相关的一些函数,如下:
/* ========================================================================== */
/**
* \brief Registers an interrupt Handler in the interrupt vector table for
* system interrupts.
*
* \param intrNum – Interrupt Number
* \param fptr – Function pointer to the ISR
* \param fun_arg – Argument to the ISR
*
* Note: When the interrupt occurs for the sytem interrupt number indicated,
* the control goes to the ISR given as the parameter.
*
* \return None.
**/
void Intc_IntRegister(uint16_t intrNum, IntrFuncPtr fptr, void *fun_arg);
以上是中断设置函数的申明,和对各参数的解释,其中uint16_t intrNum, IntrFuncPtr fptr这两个函数比较好理解,第一个是中断编号,比如如果是定时器TIMER1_IRQ中断,则查AM5728数据手册可知其对应编号是ID69,第二个参数是对应的TIMER1_IRQ中断函数指针,用于指向中断服务函数,第三个参数就比较费解了,不清楚是什么作用,也不知道应该写入什么参数
void Intc_IntRegister(uint16_t intrNum, IntrFuncPtr fptr, void *fun_arg)
{
/* Assign ISR */
fnRAMVectors[intrNum] = fptr;
argArray[intrNum] = fun_arg;
}
上面是函数原型
现在主要问题就是上面所说的第三个参数的问题,希望TI工程师能帮忙解答,谢谢
Nancy Wang:
从注释来看是给ISR传递的参数,如果没有需要传递的参数可定义为NULL试一下。