求助 kl05 GPIO管脚问题(已解决)

2020-02-20 21:02发布

本帖最后由 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
                EXPORT  HardFault_Handler         [WEAK]
                B       .
                ENDP
设置PTB2就可以,一到PTA7就跳到  B  .    怎么回事
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
捷恩斯威科技
2020-02-20 22:17
这个是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

一周热门 更多>