求助 kl05 GPIO管脚问题(已解决)
本帖最后由 FSL_TICS_ZP 于 2014-10-8 16:00 编辑IO_PE_CONFIG(GPIO_WAKE_UP_PIN,GPIO_WAKE_UP_NUM,1); //PTB2
IO_PS_CONFIG(GPIO_WAKE_UP_PIN,GPIO_WAKE_UP_NUM,1);
GPIO_DDR_INPUT(GPIO_WAKE_UP_PIN,GPIO_WAKE_UP_NUM);
//PORTA_PCR7 = PORT_PCR_MUX(1) | PORT_PCR_IRQC(10);//
IO_PE_CONFIG(GPIO_VOICE_SIGN_PIN,GPIO_VOICE_SIGN_NUM,1); //PTA7
执行到此处就跳到B .
IO_PS_CONFIG(GPIO_VOICE_SIGN_PIN,GPIO_VOICE_SIGN_NUM,1);
GPIO_DDR_INPUT(GPIO_VOICE_SIGN_PIN,GPIO_VOICE_SIGN_NUM);
void PORTA_IRQHandler(void) //yp zd
{
PORTA_ISFR |= PORT_ISFR_ISF(0);/* 清除中断标志位 */
}
HardFault_Handler\
PROC
EXPORTHardFault_Handler
B .
ENDP
设置PTB2就可以,一到PTA7就跳到B. 怎么回事 本帖最后由 eryueniao 于 2014-9-25 15:08 编辑
SIM_SCGC5 = SIM_SCGC5_PORTB_MASK;
是这条语句的事,不知道这条语句是什么意思 这个是ARM处理器结构特点,对于ARM处理器外设如果需要使用,必须先开启对应设备的时钟。对于大部分外设都是这种结构。“SIM_SCGC5 = SIM_SCGC5_PORTB_MASK”就是打开PORTB时钟,这样才能操作PORTB。如果要使用PORTA,则首先应该打开PORTA的时钟。SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK; 如果PORTA和PORTB都要使用,则执行下面语句:SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTA_MASK 捷恩斯威科技 发表于 2014-9-25 17:01
这个是ARM处理器结构特点,对于ARM处理器外设如果需要使用,必须先开启对应设备的时钟。对于大部分外设都 ...
嗯嗯学习了,要是关断PTA时钟呢
SIM_SCGC5 &= ~SIM_SCGC5_PORTA_MASK; 是这样吗 eryueniao 发表于 2014-9-25 20:08
嗯嗯学习了,要是关断PTA时钟呢
SIM_SCGC5 &= ~SIM_SCGC5_PORTA_MASK; 是这样吗
对的,是正解! FSL_TICS_ZP 发表于 2014-9-26 09:00
对的,是正解!
哈哈 谢了 操作模块寄存器之前都要先打开模块对应时钟门clcok gate,否则就会引起hardfault中断。 地主阿山 发表于 2014-10-5 20:26
操作模块寄存器之前都要先打开模块对应时钟门clcok gate,否则就会引起hardfault中断。 ...
嗯嗯,学习了 学习了 对arm的架构还是不太熟悉 路过,顶一下
页:
[1]