DEAR ALL,
请教一个问题,我开中断之后,模拟I2C的SDA(GPIO_Pin_0)设置为输入读取数据的时候会一直产生一个中断(EXTI0_IRQHandler)进来,导致I2C无法正常通讯。
1、初始化的时候,I2C两根线初始化为输出:
GPIO_Init(GPIOC, SCL, GPIO_Mode_Out_PP_High_Slow);
GPIO_Init(GPIOC, SDA, GPIO_Mode_Out_PP_High_Slow);
2、读SDA的数据时,重新初始化为带上拉输入,无中断:
GPIO_Init(GPIOC, SDA, GPIO_Mode_In_PU_No_IT);
这种情况下就会一直产生中断,EXTI0_IRQHandler,在中断里面清除中断标志位也还是一直产生。
只要打开中断 enableInterrupts(); 就会如此。我现在做低功耗唤醒必须要开中断,我们现在用的芯片型号:STM8L101K3,麻烦各位帮忙看看有没有遇到过这种问题。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>