STM8 外部中断设置问题(如图)

比如我这里PC2接一个温湿度传感器,有时做推挽输出,有时做中断输入(下降沿)。在配置中断输入时写EXTI_CR1有时不能写。看了一下手册,如上图,上面说的I1,I0位都为... 比如我这里PC2接一个温湿度传感器,有时做推挽输出,有时做中断输入(下降沿)。
在配置中断输入时写 EXTI_CR1 有时不能写。
看了一下手册,如上图,上面说的I1,I0位都为1时才能写。
问:怎么直接用寄存器写I1,10为1?
展开
 我来答
百度网友d4d2b9e34
推荐于2016-01-19 · TA获得超过489个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:161万
展开全部
I1 I0不能直接写,只能通过开中断或关中断来写,上电默认是11;
当用指令开中断时( _asm("rim\n");),为00
当发生中断时,由当前中断的(ITC_SPRx) 载入I[1:0],主要用于做中断嵌套;
退出中断自动清0;

因此在写EXTI_CR1,需将ITC_SPRx配置到11,或加入禁中断指令
更多追问追答
追问

我这样写对么,EXTI_CR1,还是不能写呀?


追答
//externial interrupt 
EXTI_CR1=0B10000010;//portB0 B1 A3 FALLING eage enable
EXTI_CR3=0B00001000;//portD FALLING eage enable
以上是STM8L的,很早以前做的;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式