因为刚好需要用,外部中断唤醒STOP模式. 直接加载原子哥的程序.正确唤醒. 但是唤醒之后,发现不再进入STOP状态.甚至不再运行main中的while循环. 但是外部中断依然在运行. 将外部中断函数中的 dealy_ms(10);注释掉之后,可以正常随眠和唤醒.
个人认为是 在dealy_ms(10),这个过程中触发了,另外一个中断. 并且因为这个中断,没有清楚中断标识位的操作.导致一直循环进入这个中断函数中.但是因为这个中断函数的优先级较低,所以可以被外部中断再次嵌套中断. 我试了一下,在中断处理函数里面清除所有的外部中断标志位,问题依旧....
虽然说只要不在外部中断中加延时就行了,但是还是想知道这种情况到底是触发了哪个中断标志位??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
后来直接自己建立一个工程使用STOP就没问题了,使用原子哥的程序需要你把程序搞懂,不然可能引起冲突.自己建工程是简便的办法
一周热门 更多>