新手求助关于寄存器SYSCFG

2019-07-21 01:26发布

各位大神问题又来了,我写关于外部中断配置的一段程序如下:
void exti_line_conf(uint32_t exti_line,uint16_t gpiox,uint8_t exti_rt_enable,uint8_t exti_ft_enable)
{
u8 i=0;
u32 pos=0x00000001;
for(i=0;i<0x10;i++)
{
if(exti_line&pos)
{
SYSCFG->EXTICR[i>>0x02]=(uint32_t)(gpiox<<((i&0x03)<<0x02));
}
pos<<=1;

if(exti_rt_enable) EXTI->RTSR|=exti_line;
else EXTI->RTSR&=~exti_line;
if(exti_ft_enable) EXTI->FTSR|=exti_line;
else EXTI->FTSR &=~exti_line;
}
为什么在调试时不能将自定义的gpiox【如:#define gpiod                (uint16_t)0x0003】写入到SYSCFG->EXTICR[x]中,大神请指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。