历史上的今天
返回首页

历史上的今天

今天是:2025年03月29日(星期六)

2019年03月29日 | STM32 μC/OS系统进睡眠模式的方法

2019-03-29 来源:eefocus

       前段时间做基于μC/OS系统的开发,遇到一个问题,在运行任务的时候需要使CPU进入睡眠状态几秒钟,但直接调用__WFI();时没有效果,后来查找资料发现需要在空闲任务中调用。


   下面是我让cpu进入睡眠状态的例子:


void  App_TaskIdleHook (void)

{


 //检查标志确定是否需要睡眠

 if(Flag_Power_Off != 0)

 {


  //关闭systick避免systick中断唤醒CPU

  SYSTICK_Cmd(DISABLE);

  Flag_Power_Off = 0;

  printf("sleep\r\n");

  CLKPWR_Sleep();

  printf("wake\r\n");

  //恢复所有挂起的任务

  OSTaskResume(10);

  OSTaskResume(11);

  OSTaskResume(12);

  OSTaskResume(13);


  //使能systick恢复任务调度

  SYSTICK_Cmd(ENABLE);

 }

}




打开μC/OS的OS_APP_HOOKS_EN,在需要睡眠的地方加上下面的代码就可以进入睡眠状态了:




//设置定时器,定时进入中断唤醒CPU


//之前需要关闭除定时器以外的全部中断


//设置标志,需要进入睡眠状态


Flag_Power_Off = 0x01;

//挂起所有任务(保证CPU立即运行到空闲任务中)

OSTaskSuspend(10);

OSTaskSuspend(11);

OSTaskSuspend(12);

OSTaskSuspend(13);




   注:在进入睡眠状态之前要用定时器设定唤醒时间并关闭除此定时器外的所有中断,我在进入空闲任务之前关掉了除systick外的中断,否则不能调度任务进入空闲任务,然后在空闲任务中关闭systick,睡眠完成之后再打开systick中断。



推荐阅读

史海拾趣

Hamamatsu公司的发展小趣事

Habia Cable公司电子行业发展的五个故事

故事一:聚四氟乙烯的先驱

Habia Cable的故事始于1941年,由Carl Herbert Jacobsson在瑞典斯德哥尔摩创立。起初,公司是一家聚合物制造商,专注于胶木部件的生产。然而,Jacobsson的远见卓识使Habia成为欧洲首批使用聚四氟乙烯(PTFE)的公司之一,并在1946年在美国推出了第一款商业聚四氟乙烯产品。这一创新不仅为Habia奠定了技术基础,也使其迅速在电线电缆领域崭露头角。随着时间的推移,Habia成为最早制造聚四氟乙烯电线和电缆的公司之一,这一技术突破为公司后续的发展奠定了坚实的基础。

故事二:国际扩张的征程

自1957年Habia制造其第一条电缆以来,公司便踏上了国际扩张的征途。1969年,Habia在荷兰布雷达开设了其第一家国际销售办公室,这标志着公司正式进入全球市场。随后,Habia在70年代至80年代经历了迅速的国际扩张,工厂和销售办事处相继在法国、德国、英国、西班牙、比利时和美国等地成立或收购。这一时期的快速扩展不仅增强了Habia在全球范围内的市场竞争力,也为其后续的发展积累了宝贵的经验和资源。

故事三:技术创新的引领

Habia Cable一直以来都是技术创新的引领者。在2000年,公司收购了德国Norderstedt的高温电线和电缆制造商Isotec Kabel GmbH,这一举措使德国成为Habia最大的市场,并为其在欧洲的进一步发展提供了强有力的支持。此外,Habia Cable还不断投资于新技术和新设备的研发,以满足市场对高性能电缆和线束的需求。例如,在2016年,Habia Cable投资独特设备制造含氟聚合物电线和电缆的长截面和大截面产品,以满足离岸部门等苛刻应用的需求。

故事四:亚洲市场的布局

随着全球化进程的加速,Habia Cable也开始将目光投向亚洲市场。2000年,Habia Cable在中国常州设立工厂,生产同轴电缆,这标志着公司正式进入亚洲市场。此后,Habia在亚洲的扩张步伐不断加快,不仅在中国建立了多个生产基地,还在韩国、香港和日本等地设立了销售办事处。这些举措不仅提升了Habia在亚洲市场的知名度,也为其在全球范围内的业务增长提供了新的动力。

故事五:定制解决方案的提供

Habia Cable一直致力于为客户提供定制化的解决方案。公司拥有一支知识渊博的销售团队和设计工程师团队,他们能够与客户紧密合作,根据客户的独特需求开发满足其要求的电缆和线束产品。Habia Cable的制造灵活性、低订单数量要求和短交货周期等特点使其在市场上具有很强的竞争力。无论是电信、核电、国防还是海洋和工业领域,Habia Cable都能为客户提供高质量、高性能的电缆和线束产品,满足其苛刻的应用需求。

Garmin_Canada_Inc.公司的发展小趣事
考虑到实际应用环境的复杂性,拨号电路应具有一定的环境适应性。例如,在电磁干扰较强的环境中,采取适当的屏蔽和滤波措施;在温度变化较大的环境中,采用温度补偿电路等。
CalAmp公司的发展小趣事

在物联网领域,安全问题一直是业界关注的焦点。某年,CalAmp公司运营的一台服务器因配置错误,导致黑客可以通过该漏洞接入账号数据,甚至接管相关车辆。这一事件引起了业界的广泛关注。面对这一挑战,CalAmp公司迅速采取行动,加强了对服务器的安全配置和监控,同时积极与安全专家合作,共同解决存在的安全问题。通过这一事件的应对和改进,CalAmp公司不仅提升了自身的安全防护能力,也为整个物联网行业树立了良好的安全榜样。

这些故事展示了CalAmp公司在电子行业中的发展历程和取得的成就。无论是通过签署全球分销协议拓展市场、推出创新的车队管理解决方案、发展新业务领域还是积极应对物联网安全挑战,CalAmp公司都展现出了其卓越的技术实力和市场竞争力。这些努力不仅推动了公司自身的持续发展,也为整个电子行业的进步做出了积极贡献。

Ericsson Power Modules公司的发展小趣事

在追求经济效益的同时,Ericsson Power Modules也注重环保和可持续发展。公司积极采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。此外,Ericsson Power Modules还积极参与环保公益活动,推动电子行业的绿色发展。这种环保意识和行动体现了Ericsson Power Modules对社会的责任感和对可持续发展的承诺。

Galil Motion Control Inc公司的发展小趣事

在创立初期,Ericsson Power Modules就展现出了强大的技术创新能力。公司团队通过深入研究电源技术、电路板应用和系统知识,成功开发出了一系列高性能、高效率的电源模块产品。其中,DC-DC转换器、中级和先进总线转换器、POL稳压器等产品因其卓越的性能和稳定性,在市场上赢得了广泛好评。这些技术突破和产品创新为Ericsson Power Modules的后续发展奠定了坚实的基础。

璟德(ACX)公司的发展小趣事

随着技术的不断进步,璟德(ACX)的产品线也逐渐拓展,涵盖了滤波器、双工器、三工器、天线及其模组、蓝牙模组、射频前端模组等一系列高频陶瓷元件及模组。这些产品广泛应用于手机、无线网络、蓝牙、GPS、物联网等移动终端设备中,得到了市场的广泛认可。公司的业绩逐年攀升,客户群体也不断扩大。

问答坊 | AI 解惑

接地电阻

坛子里的朋友们有没有做接地电阻测量的,特别是双钳的那种,小弟正在做,留下qq453749071,希望有朋友来交流,坛子里留言也可以哦…

查看全部问答>

本科课程数字信号处理期末考试试卷求解答

期末考试在即,小弟因事耽误学业,一筹莫展之中。现有试卷一份,哪位大侠能出手相助,给予解答,事成有重谢。课程采用教材为清华大学程佩青《数字信号处理》,具体情况可加QQ:43950093详谈…

查看全部问答>

微波射频芯片与分立元件的使用区别

以前一直从事微波系统设计,基本上没有pcb电路设计基础。现在开始从事RF设计,接触了很多微波集成芯片,感觉比以前所用的分立元件方便多了,价格优势也十分的明显。指示性能指标要差一些。想请教大家一下,射频芯片是否是一种发展趋势?具体还有什 ...…

查看全部问答>

刚学者的迷茫

    本人对嵌入式有点感觉。不知如何才是有效的学习顺序。有很多的书很难选择的?谢谢 …

查看全部问答>

ARM/Linux/WinCE讲座

7月21日,在上海城市管理学院举办,活动规模200人。 三个专题:         最新ARM技术和嵌入式技术发展动态(ARM中国技术营销经理费浙平主讲)         嵌入式Linux启动代码--Bo ...…

查看全部问答>

2812 PWM 产生例程 问题

#include \\"DSP28_Device.h\\" void main(void) {         /*初始化系统*/         InitSysCtrl();                 EALLOW;     &n ...…

查看全部问答>

整理大家关于【最小系统板】的建议

1、增加LED,方便调试。 因为5438的IO口很多,所以增加的LED不使用复用的方式,直接占用P7.2和P7.3管脚,LED的位置如下图所示,红色圈圈位置即是。 2、更改电源接口,将5mm间距的端子改成2.54mm间距的XH接插件。 开始设计成端子的原因是端子可以 ...…

查看全部问答>

MSP430F1232串口收一延迟时间数据然后发一高电平信号

请教各位了,现在要用MSP1232写一个程序,通过串口收一个延迟时间的数据,收到后程序进行延迟,不知道该怎么写。求助了!!!…

查看全部问答>

方差补偿自适应卡尔曼滤波在监测中的应用的MATLAB程序的

有没有大神懂方差补偿自适应卡尔曼滤波在监测中的应用的MATLAB程序的,可不可以给我发一份啊!急求!!!谢谢了!qq邮箱:631143008@qq.com …

查看全部问答>

IIC上拉电压

各位大侠,我有个困扰。 我在用一颗温湿度传感器,该传感器是3.3V供电的,接口是IIC。我用的MCU是5V供电的。MCU和sensor之间通过IIC通讯。 如果IIC总线上拉到3.3V,我担心MCU不能识别电平。如果上拉到5V,我担心会不会损坏sensor. IC的损坏一般 ...…

查看全部问答>