OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2622|回复: 3

HALT唤醒后,VCAP 不是1.8V,

[复制链接]

2

主题

13

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2016-10-27
在线时间
5 小时
发表于 2016-12-5 09:48:31 | 显示全部楼层 |阅读模式
10金钱
[mw_shl_code=c,true]#define  End_Up_On()   GPIO_WriteHigh(GPIOA, GPIO_PIN_3);  
#define  End_Up_Off()   GPIO_WriteLow(GPIOA, GPIO_PIN_3);       

//时钟初始化
void Clk_Init(void)
{
  CLK_DeInit();                                                                //CLK Default reset
  //CLK_LSICmd(ENABLE);                                                        //Enable CLK  LSI
  CLK_HSICmd(ENABLE);
  //CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);                              //内部时钟为1分频 = 16Mhz
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV4);
  CLK_ClockSecuritySystemEnable();
  //CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV8);                                //配置系统时钟分频器
}

//Io口初始化
void IO_Init(void)
{
  GPIO_DeInit(GPIOD);                                                        //恢复指定端口寄存器到默认值
GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);             //END_UP 设置
// GPIO_WriteLow(GPIOA, GPIO_PIN_3);                                        //END_Up初始为低
  GPIO_DeInit(GPIOC);                                                   //把LED1-4设置为高电平输出,关灯
  GPIO_Init(GPIOC, GPIO_PIN_HNIB , GPIO_MODE_OUT_PP_HIGH_SLOW);         //LED1-4 灭
}

//ADC初始化
void ADC_Init(void)
{
  ADC1_DeInit();                                                                                       
  ADC1_Init(ADC1_CONVERSIONMODE_SINGLE,ADC1_CHANNEL_4,ADC1_PRESSEL_FCPU_D2,ADC1_EXTTRIG_TIM, DISABLE,
            ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL4, DISABLE);
  ADC1_Init(ADC1_CONVERSIONMODE_SINGLE,ADC1_CHANNEL_3,ADC1_PRESSEL_FCPU_D2,ADC1_EXTTRIG_TIM, DISABLE,
            ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL3, DISABLE);
  ADC1_Cmd(ENABLE);
  ADC1_ITConfig(ADC1_IT_AWDIE, DISABLE);
}
void System_Init(void)
{
        IO_Init();
        Clk_Init();
       
        ADC_Init();
        KeyInit();                                          //按键初始化
          USB_Init();
          TIM2_Init();
        
        enableInterrupts();
}
/**************************实现函数********************************************
*函数原型:                main() 主程序
*功  能:                设置LED的端口为输出,并使开发板上的LED2闪烁
*******************************************************************************/
main()
{
  disableInterrupts();
  //MWWDG_Init();  
  Clk_Init();                                         //时钟初始化
  IO_Init();                                          //IO初始化
  
  ADC_Init();                                          //ADC 初始化
  KeyInit();                                          //按键初始化
  
  USB_Init();
  TIM2_Init();
  //USART_Configuration();                         //串口中断配置
                                             //USB 初始化
  enableInterrupts();
  
  
  
  
  
  
  while (1)
   { //主循环体

  if(fPowerOn_flag==FALSE)                //无活动信号进入停机模式
        {
               
          //Halt_OffDevice();              //关闭设备
                halt();                         //停机
                System_Init();  
              //  End_Up_On();
          }

   if(fPowerOn_flag)                           //正常工作状态
           {
      
         if(fKeyPress)                                //按键事件
           {
  

                        //调试使用
                  // itoa(adc_val,Tx_Buffer);
                  //UART_Send( Tx_Buffer, countof(Tx_Buffer)-1);

                  //delay_ms(2);
                End_Up_On();                                             //升压  
                adc_val =  ADC_val_get(FLG_VOUT);                       //电压通道
Led_tig(adc_val);                                        //检测电池电压[/mw_shl_code]

程序如上,

程序流程:
上电无动作-> 进入HALT->按键中断激活 -> 进入正常流程.

可是一次按键激活后,出现如下现象:
1.VCAP=2.2V(HALT下也是2.2V).
2.程序能进中断,能进入正常流程,但到End_Up_ON()就不走了.
请各位大神出手援助啊!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2016-10-27
在线时间
5 小时
 楼主| 发表于 2016-12-5 09:58:30 | 显示全部楼层
回复

使用道具 举报

557

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165046
金钱
165046
注册时间
2010-12-1
在线时间
2102 小时
发表于 2016-12-8 22:51:01 | 显示全部楼层
帮顶
回复

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2016-10-27
在线时间
5 小时
 楼主| 发表于 2016-12-12 09:18:01 | 显示全部楼层

吧主是大神,帮我看看啊。估计问题出在休眠唤醒这块。正在排查。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-28 22:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表