完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 有爱电子 于 2015-12-5 13:08 编辑
最近做的一个程序,在进入低功耗后。测得电流还有8.05个mA。检查好几天不知道问题所在。求高手帮助。以下是本人进入低功耗halt();之前的部分关闭代码: void EnterStopMode(void) { PWR->CSR2 = 0x2; //设置STM8进入低电压模式 tiM4_Cmd(DISABLE); while((TIM4->CR1 & TIM4_CR1_CEN) != 0x00); //停机前关闭不需要的功能模块的时钟 CLK_PeripheralClockConfig(CLK_Peripheral_ADC1,DISABLE); CLK_PeripheralClockConfig(CLK_Peripheral_TIM4,DISABLE);// // CLK_PeripheralClockConfig(CLK_Peripheral_BEEP, DISABLE);//关闭蜂鸣器时钟 TIM2_Cmd(DISABLE); while((TIM2->CR1 & TIM_CR1_CEN) != 0x00); CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,DISABLE);// //以上是关闭时钟 ///关闭没有用的脚 GPIO_Init(GPIOA , GPIO_Pin_0| GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_5| GPIO_Pin_6 | GPIO_Pin_7 , GPIO_Mode_Out_PP_Low_Slow); GPIO_Init(GPIOB , GPIO_Pin_0| GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_7 , GPIO_Mode_Out_PP_Low_Slow); GPIO_Init(GPIOC , GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5| GPIO_Pin_6 | GPIO_Pin_7 , GPIO_Mode_Out_PP_Low_Slow); GPIO_Init(GPIOD , GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_7 , GPIO_Mode_Out_PP_Low_Slow); GPIO_Init(GPIOE , GPIO_Pin_0| GPIO_Pin_6 | GPIO_Pin_7 , GPIO_Mode_Out_PP_Low_Slow); GPIO_Init(GPIOF , GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_5| GPIO_Pin_6 | GPIO_Pin_7 , GPIO_Mode_Out_PP_Low_Slow); GPIO_Init(GPIOG , GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 , GPIO_Mode_Out_PP_Low_Slow); GPIO_Init(GPIOA , GPIO_Pin_4 , GPIO_Mode_Out_PP_Low_Slow);///蜂鸣器 GPIO_Init(GPIOB , GPIO_Pin_1 , GPIO_Mode_Out_PP_Low_Slow);///电池ADC GPIO_Init(GPIOB , GPIO_Pin_5 , GPIO_Mode_Out_PP_High_Slow);///充电控制,禁止充电 GPIO_Init(GPIOB , GPIO_Pin_6 , GPIO_Mode_Out_PP_High_Slow);///放电控制,禁止放电 GPIO_Init(GPIOD , GPIO_Pin_5 , GPIO_Mode_Out_PP_High_Slow);///电池给VCC外设供电的开关 GPIO_Init(GPIOE , GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4, GPIO_Mode_Out_PP_Low_Slow);// GPIO_Init(GPIOE, GPIO_Pin_5 , GPIO_Mode_Out_PP_Low_Slow);///电容ADC } 评分 |
|
相关推荐
5个回答
|
|
是有个脚没配置好。本应该置高的,被置低了。改过来后就降了几ma,另外,IIC的脚接了上拉的,不要置低。目前还有450ua .硬件里有个放电电路,没办法,会一直慢慢跑电。这个低功耗只能一个个脚去试才能找到问题。
|
|
|
|
加了稳压器吧?
|
|
|
|
IO口漏电流在做低功耗的时候影响非常大,IO口是什么状态就让他死什么状态,比如外部拉高就不要去输出低了。
|
|
|
|
哪个单片机?GPIO口设置对了吗?
|
|
|
|
闲置IO口设置成输入上拉或输入下拉,其他有用IO看情况设置。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
991 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
970 浏览 2 评论
2080 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1177 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 19:39 , Processed in 0.586518 second(s), Total 91, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号