STM8L151G6芯片开启IWDG出现不规则重启怎么办

2019-07-14 16:26发布

设计STM8L151G6芯片,开启IWDG,当没有信号采集时进入halt()模式。以降低功耗,程序如下,外部有个唤醒源,当无线接收到无线数据是,发出中断信号,用来唤醒单片机。现在问题是单片机出现不规则重启,还不是每次都这样。工作1-2个小时,会复位一次。http://www.stmcu.org/file:///C:/ ... %60RX%60ADQ%7DBSW11(8QX)FD.jpg,已经设置。halt(),狗停止。进之前也喂狗了!求高手解答

    tiM1->CR1 &= (~TIM1_CR1_CEN);

    TIM2->CR1 &= (uint8_t)(~TIM_CR1_CEN);
   

    TIM3->CR1 &= (~TIM_CR1_CEN);
    Timer3OVF = 0 ;
    SPI1->CR1 &= (~SPI_CR1_SPE);
    ADC_Cmd( ADC1, DISABLE );   
    DMA_GlobalCmd(DISABLE);      
    //-----------------------------------------切换到内部低速时钟
    CLK->SWCR |= CLK_SWCR_SWEN;
    CLK->SWR = CLK_SYSCLKSource_LSE ;   

    while( (CLK_SYSCLKSource_TypeDef)(CLK->SCSR&0x0F) != CLK_SYSCLKSource_LSE ) ;
    CLK->CKDIVR = CLK_SYSCLKDiv_1 ;
    CLK->SWCR &= (~CLK_SWCR_SWEN) ;
   
    //---------------------------------关闭不用的时钟
    CLK->CKENR1  = 0;
    CLK->CKENR2  = 0x04 ;     //RTC时钟一有效
    CLK->CKENR3  = 0;   
   
    //----------------------------------D port ini,按键中断输入、SI4432中断输入
    //GPIO_Init( GPIOB, KEY1|KEY2|KEY3, GPIO_Mode_In_PU_IT) ;
    GPIOB->CR1 |= 0x07 ;
    GPIOB->CR2 |= 0x07 ;  
         
     halt( ) ;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。