打印
[STM8]

STM8L中断端口低电平时进入睡眠失败,求指教

[复制链接]
1537|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
playerol|  楼主 | 2015-12-24 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
          相关代码
           EXTI_DeInit();
          EXTI_SetPortSensitivity(EXTI_Port_B,EXTI_Trigger_Rising);
          GPIO_Init(GPIOB,DOORA,GPIO_Mode_In_FL_IT);  
        halt();
中断函数里代码是
    sim();
  if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0x08)
    GPIO_Init(GPIOB,GPIO_Pin_3,GPIO_Mode_In_PU_No_IT);   
   EXTI_ClearITPendingBit(EXTI_IT_Pin3);  
   rim();
意图时按键按下时进入睡眠,松开时上升沿触发中断唤醒,测试电路是PB3下拉接地,不用在意代码,我试了端口各种设置,上升沿下降沿都是 halt();后在中断里打转,请大神指导下怎么处理才行,多谢
沙发
布丁奶茶| | 2015-12-25 13:01 | 只看该作者
你确定是   EXTI_SetPortSensitivity(EXTI_Port_B,EXTI_Trigger_Rising);可以?
我不知道你用的具体哪个单片机,但我用的STM8L的外部中断,port口和pin中断是不能共用的,比如你PortB和你GPIOB—Pin3不是共用一个中断处理函数,所以建议你改成EXTI_SetPinSensitivity(EXTI_Pin_3,EXTI_Trigger_Rising);试试

使用特权

评论回复
板凳
playerol|  楼主 | 2015-12-25 15:30 | 只看该作者
布丁奶茶 发表于 2015-12-25 13:01
你确定是   EXTI_SetPortSensitivity(EXTI_Port_B,EXTI_Trigger_Rising);可以?
我不知道你用的具体哪个单 ...

非常感谢,的确是这个问题,终于处理好。唉,学艺不精,搞了很长时间,竟然没留意这个,竟然还想用RTC自动唤醒来检测

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

28

帖子

0

粉丝