请问: 有没有人将LPC23XX系列中GPIO设置为FIQ用过吗?(附代码)
请教:现在定义LPC23XX 中P2.9 口 为 输入口 , p2.11 , P2.12 为输出口
P2.9 口 设置为 GPIO中断中的FIQ , 因为没有硬件调试 ,所以我也不知道这样设置对不对, 请大家看看这样行不行.
void GPIO_FIQ_init(void)
{
PINSEL4 = ( PINSEL4 & (~( 0x00<<18))) | (0x00<<18); //
FIO4DIR = (0x00<<22 | 0x00<<24);
PINMODE4 &= (~(0x00<<18 | 0x00<<22 | 0x00<<24)) ;
IO2IntEnF = 1 << 9; // 设置P2.9为下降沿中断
/* 初始化中断向量 */
VICIntSelect = 1 << 17; // 设置所有中断分配为FIQ中断
VICVectPri17 = 0; // 分配外部中断3为最高优先级中断
VICVectAddr17 = (INT32U)FIQ_Eint3; // 设置中断服务程序地址
IO2IntClr = 1 << 9 ; // 清除P2.9 中断标志位
VICIntEnable = 1 << 17; // 使能EINT3中断
}
[解决办法]
这样没有什么问题,但可以不设 VICVectPri17 = 0; // 分配外部中断3为最高优先级中断
因为fiq中断级最高