你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm8l低功耗模式为什么电流大约1.35mA

[复制链接]
stm0newer 提问时间:2017-8-17 19:32 /
void halt_gpio_init(void)
{
  disableInterrupts();
  CLK_DeInit();
  CLK_SYSCLKSourceSwitchCmd (ENABLE);                                                           //使能切换
  CLK_LSICmd (ENABLE);                                                                                             //使能LSI
  while(CLK_GetFlagStatus(CLK_FLAG_LSIRDY)==RESET);  
    CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);                                         //LSI为系统时钟
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
    while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI)//等待时钟稳定
  CLK_HSICmd(DISABLE);  
  TIM1_DeInit();
  TIM1_Cmd(DISABLE);
  TIM2_DeInit();
  TIM2_Cmd(DISABLE);
  TIM3_DeInit();
  TIM3_Cmd(DISABLE);
  TIM4_DeInit();
  TIM4_Cmd(DISABLE);
  TIM5_DeInit();
  TIM5_Cmd(DISABLE);
  I2C_DeInit(I2C1);
  I2C_Cmd(I2C1,DISABLE);
  USART_DeInit(USART1);
  USART_Cmd(USART1,DISABLE);
  USART_DeInit(USART2);
  USART_Cmd(USART1,DISABLE);
  USART_DeInit(USART3);
  USART_Cmd(USART1,DISABLE);
//  RTC_DeInit();
  ADC_DeInit(ADC1);
  ADC_Cmd(ADC1,DISABLE);
  ADC_TempSensorCmd(DISABLE);
  ADC_VrefintCmd(DISABLE);
  ADC_ChannelCmd(ADC1,ADC_Channel_18,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM1,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM3,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM4,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM5,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_I2C1,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_SPI1,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_USART1,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_USART2,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_USART3,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_ADC1,DISABLE);
//  CLK_PeripheralClockConfig(CLK_Peripheral_RTC,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_BEEP,DISABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_LCD,DISABLE);
  GPIO_DeInit(GPIOA);
  GPIO_DeInit(GPIOB);
  GPIO_DeInit(GPIOC);
  GPIO_DeInit(GPIOD);
    GPIO_Init(GPIOA, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOB, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOC, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
    GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);
//  GPIO_Init(GPIOA,GPIO_Pin_0|GPIO_Pin_1,GPIO_Mode_Out_PP_Low_Slow);

  GPIO_Init(GPIOB, GPIO_Pin_1,GPIO_Mode_Out_PP_High_Slow);                               //wakeup 7137
  GPIO_Init(GPIOB, GPIO_Pin_3,GPIO_Mode_Out_PP_High_Slow);                              //note 7137 recv information
  GPIO_Init(GPIOB, GPIO_Pin_6,GPIO_Mode_Out_PP_High_Slow);                              //note 7137 recv information
  GPIO_Init(GPIOD, GPIO_Pin_0,GPIO_Mode_Out_PP_High_Slow);                              //LED
  GPIO_Init(GPIOA, GPIO_Pin_2,GPIO_Mode_In_PU_IT);                                                 //ring
  GPIO_Init(GPIOA, GPIO_Pin_3,GPIO_Mode_In_PU_IT);                                                 //preview
  GPIO_Init(GPIOB, GPIO_Pin_7,GPIO_Mode_In_PU_IT);                                                 //OK
  GPIO_Init(GPIOC, GPIO_Pin_0, GPIO_Mode_Out_PP_High_Slow);                               //sda
  GPIO_Init(GPIOC, GPIO_Pin_1, GPIO_Mode_Out_PP_High_Slow);                              //scl

  GPIO_Init(GPIOB, GPIO_Pin_4,GPIO_Mode_In_PU_IT);                                               //2.4G


  EXTI_DeInit();  
  if(get_monitor()==ON)
  {
//    log("open IR\n");
    GPIO_Init(GPIOB, GPIO_Pin_5,GPIO_Mode_In_PU_IT);                                                   //IR
    EXTI_SetPinSensitivity(EXTI_Pin_5,EXTI_Trigger_Falling);
  }
  if(get_sensitivity_setting()==HIGH)
    GPIO_Init(GPIOB, GPIO_Pin_2,GPIO_Mode_Out_PP_High_Slow);                               //灵敏度高
  else
       GPIO_Init(GPIOB, GPIO_Pin_2,GPIO_Mode_Out_PP_Low_Slow);                            //灵敏度低
  EXTI_SetPinSensitivity(EXTI_Pin_2,EXTI_Trigger_Falling);                                              //中断配置  
  EXTI_SetPinSensitivity(EXTI_Pin_3,EXTI_Trigger_Falling);
  EXTI_SetPinSensitivity(EXTI_Pin_6,EXTI_Trigger_Falling);
  EXTI_SetPinSensitivity(EXTI_Pin_7,EXTI_Trigger_Falling);
  EXTI_SetPinSensitivity(EXTI_Pin_4,EXTI_Trigger_Rising);
  EXTI_ClearITPendingBit(EXTI_IT_PortB);
  EXTI_ClearITPendingBit(EXTI_IT_PortD);
  enableInterrupts();     
  Flash_OFF_act_halt();


}

    default:
      if(flag==0)
      {
        bjy_disable_i2c();
//        halt_init();
        PWR_DeInit();
        PWR_PVDCmd(DISABLE);
        CLK_HaltConfig(CLK_Halt_FastWakeup, ENABLE);
        halt_gpio_init();
        PWR_FastWakeUpCmd(ENABLE);
        PWR_UltraLowPowerCmd(ENABLE);                   //超低功耗
        halt();
        bjy_clk_init();
        bjy_usart_init();
        bjy_adc_init();
        bjy_adc_conv();
        log("halt over\n");
        bjy_rtc_init();

      }
      break;

收藏 评论3 发布时间:2017-8-17 19:32

举报

3个回答
stm0newer 回答时间:2017-8-17 19:32:26
求助啊 困扰我 好几天了
stm0newer 回答时间:2017-8-17 19:32:50
能关的我都关了
sssdd 回答时间:2017-8-18 14:50:30
先排查硬件,把通讯的外设模块电源拆了,或者一个个拔了。
然后,看单片机自己睡着了没。
然后慢慢缩小范围。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版