Standby/Stop调试总结
来源:互联网 发布:java 泛型 class 参数 编辑:程序博客网 时间:2024/06/05 10:05
1.进入Stop模式后,任一外部中断皆可唤醒,也可以设置多个唤醒中断源。Standby唯有WKUP引脚的上升沿、RTC闹钟事件、NRST引脚上的外部复位、IWDG复位方能唤醒。
2.Standby模式的静态电流只有几微安(stop模式在30μA左右),尽可能使用Standby模式。
3.开机唤醒时有一定几率出现成功唤醒但进入某中断后陷入死循环状态,为了避免这种错误,关机之前务必:
1)清除所有中断标志位
EXTI_ClearITPendingBit(0x7FFFF);
RTC_ClearITPendingBit(0x07);
2)将除了开机唤醒之外的所有中断关闭
例如:
NVIC_InitStructure.NVIC_IRQChannel =TIM4_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority= 0;NVIC_InitStructure.NVIC_IRQChannelCmd= DISABLE;NVIC_Init(&NVIC_InitStructure);
4.流程
1):使能PWR时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
2):配置唤醒IO口、EXTI、NVIC
IO口配置为GPIO_Mode_IN_FLOATING模式。
3):关闭不用的中断,清除所有中断标志位(非常重要,如果不清除的话,Stop模式可能会因为不在预估范围内的中断而唤醒)
EXTI_ClearITPendingBit(0x7FFFF);
RTC_ClearITPendingBit(0x07);
4):进入停机/待机模式
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
或
PWR_EnterSTANDBYMode();
5):唤醒,关闭唤醒中断,重新配置系统时钟。
Stop模式唤醒之后会进入中断子函数,而后沿之前中断的位置继续执行。Standby模式并不会进入中断子函数,开机后系统自动复位。
5.低功耗配置
1)所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉输入,如果高阻是中间状态,设成模拟输入。
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_All;GPIO_InitStructure.GPIO_Mode= GPIO_Mode_AIN;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_Init(GPIOD,&GPIO_InitStructure);
2)两个晶振输入脚要remap成普通IO,使用内部晶振。
3)关闭所有外设
4)关闭jtag口,并设成普通IO;
- Standby/Stop调试总结
- STM32 低功耗模式STOP、STANDBY配合RTC应用实例
- 技术专题总结:standby Database
- 技术专题总结:standby Database
- STANDBY
- jquery 中stop()方法总结
- 多线程调试 GDB的non-stop模式
- 多线程调试必杀技 - GDB的non-stop模式
- 改波特率解决 jlink调试: cannot stop arm device问题
- 多线程调试必杀技 - GDB的non-stop模式
- maven jetty eclipse run stop debug 调试java web项目
- maven jetty eclipse run stop debug 调试java web项目
- 多线程调试必杀技 - GDB的non-stop模式
- 多线程调试必杀技 - GDB的non-stop模式
- 多线程调试必杀技 - GDB的non-stop模式
- 多线程调试必杀技 - GDB的non-stop模式
- 多线程调试必杀技 - GDB的non-stop模式
- 调试总结
- 可变参数列表解析
- Nginx&C++实现简单的fastcgi程序
- struts2
- 微信小程序--request(ajax)请求
- JS获取word文档内容到html页面
- Standby/Stop调试总结
- vue+webpack实现精美游戏设计:实现建筑物的渐变生成效果
- ListView/GridView嵌套CheckBox滑动时CheckBox选中状态显示错乱
- 初学Idea开发工具
- 测试设计-基于结构的测试
- 微信用户提现不能到账,显示NO_AUTH | 产品权限验证失败,请查看您当前是否具有该产品的权限(企业付款到零钱)
- 去哪儿科技java实习生面试题
- 共同学习Java源代码-数据结构-LinkedHashMap(三)
- webstorm下scss文件 编译成微信小程序wxss文件