完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
设计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( ) ; |
|
相关推荐
6个回答
|
|
我自己怀疑是不是外部32768的晶振会不会,自己停震!
|
|
|
|
没定时喂狗?
|
|
|
|
担心晶振有问题的话,可以用示波器看看
|
|
|
|
通过设置IWDG_HALT寄存器,在停机或活跃停机模式中独立看门狗可以正常工作。它可以唤醒该器件。 注:为了使用这一功能,避免看门狗错误复位,在执行HALT指令之前,独立看门狗溢出时间和重装看门狗必须设置正确。
|
|
|
|
|
|
|
|
选项字节 IWDG_HALT 设置成 Independant watchdog stopped in Halt/Active-halt mode 就可以了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1147 浏览 1 评论
请问ad9910芯片的ram模式在接收数据时为什么会出现一段方波?
2962 浏览 1 评论
838 浏览 0 评论
不懂真得问!FREERTOS在中断里面,可以调用有任务级临界段代码的函数吗?
2429 浏览 1 评论
2305 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-7-7 02:48 , Processed in 0.712599 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号