求助 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  .    怎么回事
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
eryueniao
1楼-- · 2020-02-20 21:51
本帖最后由 eryueniao 于 2014-9-25 15:08 编辑

SIM_SCGC5 = SIM_SCGC5_PORTB_MASK;
是这条语句的事,不知道这条语句是什么意思
捷恩斯威科技
2楼-- · 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
eryueniao
3楼-- · 2020-02-21 03:32
 精彩回答 2  元偷偷看……
FSL_TICS_ZP
4楼-- · 2020-02-21 06:45
eryueniao 发表于 2014-9-25 20:08
嗯嗯学习了,要是关断PTA时钟呢
SIM_SCGC5 &= ~SIM_SCGC5_PORTA_MASK;   是这样吗

对的,是正解!
eryueniao
5楼-- · 2020-02-21 11:17
FSL_TICS_ZP 发表于 2014-9-26 09:00
对的,是正解!

哈哈    谢了                                 
地主阿山
6楼-- · 2020-02-21 15:13
操作模块寄存器之前都要先打开模块对应时钟门clcok gate,否则就会引起hardfault中断。

一周热门 更多>