关于EXTI配置完成后与SYSCFG配置完成后出现的问题
做EXTI实验,案件key2作为进入外部中断的按键,在main()函数中,将A0-A15分别配置为EXTI0-EXTI15配置完成EXTI相关寄存器(下降沿触发),EXTI_PD中为什么会立即变成0x0000E002??然后在配置SYSCFG中的EXTICRx寄存器,EXTI_PD中的值又会变成0x0000E4A6??? 这是为什么,但是如果先配置SYSCFG_EXTICRx然后在配置EXTI相关寄存器(仍然是下降沿触发),EXTI_PD中的值是0x0000E002???、以上实验是由于做外部中断的时候,在开启NVIC后,然后配置EXTI,让后在配置SYSCFG,在没有外部触发的条件下直接进入中断了,所以做了以上实验观察EXTI配置完成后,在没有外界触发的条件下EXTI_PD的值会自动变化,不知道为什么,请各位解释一下???难道是STM的BUG??
楼主说的是哪个芯片的?要看一下对应的资料。 注意一下EXIT的默认值,如果先开启EXIT中断,触发方式会以默认值执行。 安 发表于 2015-8-5 15:15
注意一下EXIT的默认值,如果先开启EXIT中断,触发方式会以默认值执行。
STM32F407ZGT6 这个芯片我看了一下这个芯片的文档,EXTI_PD的复位值未定义,但是我用J-Link调试看到EXTI_PD复位后为0x00000000 没有找到楼主说的这个寄存器。楼主可以看手册他的复位默认值,一般是0x00000000
看看,,,,,,,,,,,,,,,,
页:
[1]