完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
main()
{ ... ... for(;;) { _BIS_SR(LPM3_bits); _nop(); } } #pragma vector=PORT1_VECTOR __interrupt void getKeyValue(void) { P2OUT^=0x01; } 可以看到,在主程序中,有一个for循环,里面基本上没什么操作。就是进入到低功耗模式。按照我的理解,进入到低功耗模式后,CPU便停在那个地方等待中断,当有中断的时候,进入中断。 我不太明白的是:程序在什么时候唤醒中断? |
|
相关推荐
13个回答
|
|
|
是不是还要有专门的唤醒的函数?
|
|
|
|
|
|
中断后自动便把CPU唤醒了?
|
|
|
|
|
|
中断发生后,便自动把CPU唤醒。在我以上的程序中,进入中断后对P2.0取反,然后退出中断,回到主程序,但是因为主程序中是一个无限循环for,因此这时候又会再次进入低功耗模式。
|
|
|
|
|
|
中断信号应该就是唤醒信号吧
|
|
|
|
|
|
再说也没有人会在中断程序里面写上睡眠指令的!
|
|
|
|
|
|
中断发生后,应该自动把CPU唤醒的吧
|
|
|
|
|
|
这个中断的处理还是很关键的
|
|
|
|
|
|
程序被唤醒的主要是中断的
|
|
|
|
|
|
这个要合理的配置系统的低功耗模式的
|
|
|
|
|
|
中断发生就会唤醒,执行中断程序,执行完回到主程序,主程序之前是执行了休眠,现在回来接着执行后面的内容,如果后面没有,那就重头开始执行。
|
|
|
|
|
|
看你怎么设置了。你是想让系统什么时候唤醒。
|
|
|
|
|
|
貌似是io口中断唤醒
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2797 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2403 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2276 浏览 0 评论
2388 浏览 1 评论
1637 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 00:16 , Processed in 0.848455 second(s), Total 68, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
511