STM8 外部中断设置问题(如图)
比如我这里PC2接一个温湿度传感器,有时做推挽输出,有时做中断输入(下降沿)。在配置中断输入时写EXTI_CR1有时不能写。看了一下手册,如上图,上面说的I1,I0位都为...
比如我这里PC2接一个温湿度传感器,有时做推挽输出,有时做中断输入(下降沿)。
在配置中断输入时写 EXTI_CR1 有时不能写。
看了一下手册,如上图,上面说的I1,I0位都为1时才能写。
问:怎么直接用寄存器写I1,10为1? 展开
在配置中断输入时写 EXTI_CR1 有时不能写。
看了一下手册,如上图,上面说的I1,I0位都为1时才能写。
问:怎么直接用寄存器写I1,10为1? 展开
1个回答
展开全部
I1 I0不能直接写,只能通过开中断或关中断来写,上电默认是11;
当用指令开中断时( _asm("rim\n");),为00
当发生中断时,由当前中断的(ITC_SPRx) 载入I[1:0],主要用于做中断嵌套;
退出中断自动清0;
因此在写EXTI_CR1,需将ITC_SPRx配置到11,或加入禁中断指令
当用指令开中断时( _asm("rim\n");),为00
当发生中断时,由当前中断的(ITC_SPRx) 载入I[1:0],主要用于做中断嵌套;
退出中断自动清0;
因此在写EXTI_CR1,需将ITC_SPRx配置到11,或加入禁中断指令
更多追问追答
追答
//externial interrupt
EXTI_CR1=0B10000010;//portB0 B1 A3 FALLING eage enable
EXTI_CR3=0B00001000;//portD FALLING eage enable
以上是STM8L的,很早以前做的;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询