停机程序: GPIO_Init(GPIOD, GPIO_PIN_4, GPIO_MODE_IN_PU_IT); EXTI_DeInit(); EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOD, EXTI_SENSITIVITY_FALL_ONLY); halt(); //停机 中断服务程序 __interrupt void EXTI_PORTD_IRQHandler(void) { GPIO_Init(GPIOD,GPIO_PIN_4,GPIO_MODE_IN_PU_NO_IT); EXTI_DeInit(); //关中断 BeepOn(); //确认唤醒时是否进了中断 } 停机程序在MCU空闲5S后执行,第一次停机后,通过按键可以唤醒。第二次停机时就直接进入中断程序,蜂鸣器长鸣,好像是外部中断标志没有被清除,第二次打开中断时就直接进入中断了。但STM8里没找到清除外部中断的在寄存器,应该怎么处理呢 |
我用stm8s003发现外部中断触发一次会进入中断两次,后面看网上的大神说 进中断后,关中断,消抖,查询 后就可以了! |
从零开始操作STM8寄存器(风驰iCreate奉献)
【中文资料】初学STM8库函数的中文帮助软件
绝对经典的中文STM8学习手册,淘宝上学习板资料,友情大放送!
【原创教程】风驰iCreate独家开源STM8 27个例程和10多万字的pdf教程
STM8的LCD1602 4线驱动,为什么不工作
【精华资料】由零开始开发STM8
STM8S 的触摸库是如何在主程序中查询键的呢、
【精华资料】STM8的C语言编程1-14讲完整版
【精品教程】STM8系列单片机入门教程系列
STM8 第一次进中断不准【悬赏问答】