设计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( ) ;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>