|
本帖最后由 FSL_TICS_ZJJ 于 2014-1-27 15:36 编辑
我试验的是PTB6即irq2方法是使用的pe工具生成的用内部32k时钟的最小程序,别的模块没有添加,导入到iar下后,改动vectors.c中的portb对应的
(tIsrFunc)&Cpu_Interrupt, /* 0x2C 0x000000B0 - ivINT_LPTimer unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x2D 0x000000B4 - ivINT_Reserved45 unused by PE */
(tIsrFunc)&Cpu_Interrupt, /* 0x2E 0x000000B8 - ivINT_PORTA unused by PE */
(tIsrFunc)& portb_isr /* 0x2F 0x000000BC - ivINT_PORTB unused by PE */
最后一行,然后定义了portb_isr();函数,在主函数中
PORTB_PCR6=PORT_PCR_MUX(1)|PORT_PCR_IRQC(0x9)&(~PORT_PCR_PE_MASK)&(~PORT_PCR_PS_MASK);
定义了portb6引脚设置成初始状态低电平,上升沿触发,然后加上
NVIC_ICPR |= 1 << (31%32);
NVIC_ISER |= 1 << (31%32);
但是,我用的板子上的小灯做位指示,结果证明不能启动。求解,应该还设置什么寄存器? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|