- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM8低功耗
首先,STM8有三种低功耗模式,即等待、活跃停机和停机。具体它们三者有什么区别自己看官方手册去吧,这里只讲停机模式的应用,其他的一笔带过!
一、进入的方式:等待模式进入用的指令是WFI,而活跃停机和停机用的都是halt(),所不同的是,在执行halt指令之前,如果开启了AWU,则是活跃停机,反之则是停机。还有一点要说明的是,在停机模式下独立看门狗是不能养的,而只能养窗口看门狗。二、具体进入的步骤:1、首先,你声明一个标志位,名字自己取。这个标志位是用来判断系统是该处于运行模式还是处于停机模式的。我这里用fPowerOn_flag,如下:bool fPowerOn_flag = FALSE;有了这个标志位以后就写下面的部分了:int main(void){
? //设置内部16M晶振为系统时钟
? Clk_Init(); //系统时钟初始化函数
? MWWDG_Init();//窗口看门狗初始化函数
? while (1)
? { ?
? ? Free_WWDG();//喂狗函数
? ? if(fPowerOn_flag == FALSE){
? ? ? Halt_OffDevice();//停机前关闭不需要的外设
? ? ? halt();//进入停机模式
? ? ? System_Init();//系统初始化函数
? ? }
? ??
? ? if(fPowerOn_flag){? ? //运行代码在这里添加
? ? }
? }
}以上就是一个停机模式的模板了,大家参照着用就可以了。系统上电默认是进入停机模式,然后通过按键唤醒进入运行模式。下面为大家讲一下主函数中每个函数的写法和功能吧!2、各函数说明:a、时钟初始化函数:
void Clk_Init(void) ? ? ? ? ? ? ? ?
{
? CLK_DeInit();//复位时钟寄存器
? CLK_HSICmd(ENABLE);//使能内部高速时钟
? CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV4);//配置内部高速时钟(时钟分频器:4分频),系统时钟4MHz
? CLK_ClockSecuritySystemEnable();//开启时钟安全系统
}这个函数我想不用多讲了,大家都懂的。b、窗口看门狗函数:
void MWWDG_Init(void)
{
? WWDG_Init(COUNTERINIT, WINDOW);//COUNTERINIT =?0x7f,WINDOW =?0x77
}这个是窗口看门狗初始化函数。
void Free_WWDG(void)
{
? INT8U CounterValue;
? CounterValue = (INT8U)(WWDG_GetCounter() 0x7F);
??
? /*?
? ?* 判断是否小于所设置的窗口上限值?
? ?* 只有小于窗口上限值才能清零
? ?*/
? if(CounterValue WINDOW){
? ? WWDG_SetCounter(COUNTERINIT);
? }
}这个是窗口看门狗喂狗函数,防止看门狗复位。c、停机前外设设置函数:
void Halt_OffDevice(void)
{
? //关闭设备前,设置系统主时钟,和中断?
? Clk_Init(); ?
??
? //CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV4);
??
? ADC1_DeInit();
? TIM1_DeInit();
? //停机前关闭不需要的功能模块的时钟 ?
? CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER3,DISABLE);
? CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1,DISABLE);
? CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC,DISABLE);
? CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2,DISABLE);
? CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4,DISABLE);
? CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU,DISABLE);
? CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C,DISABLE);
? CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART2,DISABLE
您可能关注的文档
最近下载
- 《解析几何》教案--吕林根,许子道.pdf
- 美国加州桥梁抗震caltrans seismic design criteria vlysis.pdf VIP
- 2025云南省临沧市市级单位公开遴选(选调)工作71人笔试参考题库附答案解析.docx VIP
- HSE保障措施优化及实施方案研究.docx VIP
- 2025甘肃省公路交通建设集团武仙公路收费运营人员招聘61人笔试模拟试题及答案解析.docx VIP
- 2025年秋新鲁科版英语四年级上册全册课件.pptx
- 颚式破碎机技术参数.docx VIP
- 2024河南资本集团“方舟”第三批招聘41人笔试参考题库附带答案详解.pdf
- 《时尚配饰设计》课件.ppt VIP
- 高边坡专家论证PPT汇报材料(中建).ppt VIP
文档评论(0)