进入HALT模式无法自动唤醒

本文针对CPU进入halt模式后无法正常自动唤醒的问题进行了深入探讨。通过调整关闭外设时钟的顺序,有效地解决了程序跑飞的现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:https://www.cnblogs.com/auto-reboot/p/6553329.html

发指令休眠以后,外部IO终端唤醒cpu后代码跑飞。经查找主要是以下原因

a)关闭外设的时候一定要先操作关闭或是失能指令,再关闭外设时钟否则造成不可预测的影响。

b)由于代码对中断默认的优先级别,所以进中断处理之前先关闭中断,处理完成以后在开启中断。

c)休眠之前,将串口变成普通IO中断,用于唤醒CPU。

 

问题描述:

进入halt模式后,自动唤醒数次后就不能自动唤醒。调试发现程序在不停的触发中断。

对策:

按照原因a修改代码,将关闭外设时钟调整到最后处理,经测试问题不再复现。

转载于:https://www.cnblogs.com/will-lin/p/9372473.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值