历史上的今天
今天是:2024年09月10日(星期二)
2018年09月10日 | 在STM32F中使用UCOSII如何支持低功耗模式
2018-09-10 来源:eefocus
在不在系统的裸奔的软件中,使用RTC+STOP模式很容易实现低功耗模式,但是在UCOS之类的操作系统,实现这一模式就有点麻烦,最大的问题是任务切换是无法控制的,经常出现唤醒之后程序跑飞的情况。
首先,要把休眠的代码段放在低优先级任务中,不一定是系统自带的空闲任务,也可以是用户自定义的最低优先级的任务。
其次,在休眠代码的前后加上两个指令:
//===================================================================================
OSSchedLock();//禁止任务调度
while(1)
{
.....//休眠代码RTC+STOP
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
....//判断是否退出休眠
}
....//重新初始化系统时钟及GPIO
....//OS_CPU_SysTickInit();//systick重新初始化 非常重要的,否则跑飞
OSSchedUnlock();//允许任务调度
//===================================================================================
其实只需要增加一下两个指令就可以解决任务切换问题。
史海拾趣
|
坛子里好像越来越多的人对此产生了兴趣。我最初的读卡器是用CM200开发的,硬件开发没有什么特别的,CM200内部带地址锁存,接口很方便,其它的按照datasheet照搬就行了。关键是天线板的设计,尺寸形状都会影响,而我觉得这些定了之后,设计的关键又 ...… 查看全部问答> |
|
程序模拟了音乐的七个音皆(do,re,me,fa,so,la,si),包括低音,中音及高音. 有兴趣的朋友可下载程序到target board一试,或到以下网站观看示范片段. http://v.youku.com/v_show/id_XMTQwMjI0MjI0.html 附件是作者提供的Qtopia应用程序,感兴趣的 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:30 编辑 在哈尔滨工程大学六年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教 ...… 查看全部问答> |
|
飞龙教程------51单片机=====最小51系统 51单片机=====最小51系统 电子工程师之家 单片机学习网 http://www.eehome.cn/ 新势力电子单片机 &n ...… 查看全部问答> |
|
我在linux系统下编译u-boot生成u-boot、u-boot.bin和u-boot.srec三个文件,编译uClinux(2.4.x版)后生成image.ram、image.rom 和 romfs.img。请问用什么工具烧写u-boot和uClinux呢?应该烧哪些文件呢?有没有相关的文档?我之前移植ucos等都是用H- ...… 查看全部问答> |
|
1. 用硬件定时器编写程序,设置时、分、秒定时器,分别对应的地址为:4000H、4002H、4004H,晶振频率为12MHZ(用8096编写) 2.C08__2 MODULE MAIN $INCLUDE(8096.INT) PORT EQU OFFA8H ...… 查看全部问答> |
|
在51单片机系列中,现在生产厂家很多,兼容型号也很多。不同厂家生产的单片机P1口的驱动能力 是不同的。下面仅举最常用的3种单片机为例,谈谈驱动能力。 先说说LS型TTL负载。 LS型TTL负载是指单片机端口所接负载是74LS系列的数字芯片。以TI公司的74 ...… 查看全部问答> |




