完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在用STM8S103K3芯片,写了个程序,发现开启看门狗之后,进行仿真调式时,程序就死机了
下面是我的看门狗配置程序 //须先启动看门狗,然后才能配置看门狗 static void MCU_IWDOG_Init(void) { IWDG->KR = 0xCC; //启动看门狗 IWDG->KR = 0x55; //解锁寄存器写保护 IWDG->RLR = 0xFF; //重装值寄存器 超时时间 1.02 s IWDG->PR = 0x06; //时钟256分频 IWDG->KR = 0xAA; } void RESET_WATCHDOG(void) //刷新看门狗计数 { IWDG->KR = 0xAA; } //主函数 void main(void) { int i; MCU_IWDOG_Init(); i = 0; for(;;) { if(i > 1000) i = 0; else i ++; RESET_WATCHDOG(); } } 我写程序时,发现了这个看门狗有问题,就把这个程序抽出来测试一下。我以前用STM8S105K5没有什么问题啊,我找了好久没有找到原因。小弟在些请教下群里的大神 |
|
相关推荐
1个回答
|
|
STM8S103K3看门狗死机的原因可能有以下几点:
1. 看门狗定时器溢出:如果程序中没有及时给看门狗定时器喂狗(即重置定时器),当定时器溢出时,系统将自动重启。请确保在程序中定期重置看门狗定时器。 2. 配置错误:检查看门狗配置程序中的参数设置是否正确。例如,超时时间、时钟分频等参数是否符合预期。你提供的代码中,超时时间为1.02秒,时钟分频为256。请确保这些参数符合你的需求。 3. 仿真器问题:在仿真调试过程中,仿真器可能无法模拟看门狗定时器的行为。这可能导致程序在仿真器上运行时出现问题。建议在实际硬件上测试程序,以确保看门狗定时器正常工作。 4. 中断冲突:如果程序中存在中断服务程序,确保它们不会影响看门狗定时器的重置。中断服务程序可能会占用大量时间,导致看门狗定时器溢出。 5. 程序错误:检查程序中是否存在无限循环或其他可能导致程序无法正常运行的错误。 为了解决这个问题,你可以尝试以下步骤: 1. 确保程序中定期重置看门狗定时器,以防止定时器溢出。 2. 检查看门狗配置程序中的参数设置,确保它们符合预期。 3. 在实际硬件上测试程序,以确保看门狗定时器正常工作。 4. 检查程序中的中断服务程序,确保它们不会影响看门狗定时器的重置。 5. 仔细检查程序,修复可能存在的无限循环或其他错误。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1767 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1069 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
727浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
592浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 22:38 , Processed in 0.753063 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号