新手求助关于寄存器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]中,大神请指教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
alonejhon
1楼-- · 2019-07-21 04:23
回复【2楼】alonejhon:
-------------------------------
问题已解决,没有使能应该,没想到漏了这个最基础的
alonejhon
2楼-- · 2019-07-21 04:24
自己顶,问题还没得到解决,在考虑是不是什么除了那个函数以外的细节漏掉了

一周热门 更多>