在线时间613 小时
UID252169
注册时间2010-12-5
NXP金币0
TA的每日心情 | 开心 2019-2-14 16:49 |
---|
签到天数: 296 天 连续签到: 1 天 [LV.8]以坛为家I
金牌会员
 
- 积分
- 4473
- 最后登录
- 2020-4-14
|
问题如题,查看了KL25P80M48SF0RM.pdf手册关于Chapter 11 Port control and interrupts (PORT),其中没有说明那个IO口不能中断;在MKL25Z4-CMSIS.h的中断向量表中明确声明PORTD的中断向量为31[PORTA的中断向量为30],但参考案例的设置中断和中断处理程序[照抄的,也许就是这个问题],这段舞如何反应。代码如下://中断定义
IO_IRQ_CONFIG(MKL_PORTD,5,31);
//中断处理
void PORTD_IRQHandler(void){
//if(PORTD_ISFR == (1<<5)){(PCR(D,5) & (~PORT_PCR_ISF_MASK))|PORT_PCR_IRQC(31);}
if(PORTD_ISFR == (1<<5)){PORTD_PCR5 &=~PORT_PCR_ISF_MASK;}//清除中断标志
jsq++;
}
这程序中加上了
NVIC_EnableIRQ(PORTD_IRQn);
NVIC_SetPriority(PORTD_IRQn,3);//PORTD interupt level
在中断处理中上下两段都没有作用,实际上程序好像没有执行中断。
在本站搜了相关的IO中断,参考改也无用。恳请指教,先谢谢了。感觉学习Freescale的ARM比较累。过一段时间会贴上MK60的一些玩的东西,主要就是他的KDS太多,互相不兼容。见过的代码就有:KDS1.0;1.3.2.0,3.0;有MKL缀的,FLS缀的,有PDD缀的,...,不一而足;有时越看越晕。
|
|