请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STM8L052看门狗在16MHz主频下意外重启的问题?

[复制链接]
gaobingquan 提问时间:2019-9-21 12:56 /
目前使用STM8L052R8做个产品,这个片子又便宜又好,该有的功能都有。软件一切功能都调试完毕,最后想启动看门狗。问题来了,主程序工作在16MHz下,外部晶振,分频系数为1,看门狗会导致不定时的意外重启。
从程序复位后监测复位寄存器的标志位,确实看门狗引起的。
测量了看门狗设置的时间,如果不喂狗也的确是1.7s,自动重启,时间设置没有问题。

主程序循环里面大约20ms就能喂一次狗,软件不会导致延误喂狗。
从网上找资料,有个论坛里的一个帖子提到说,STM8L的看门狗,16MHz主频分频系数=2就工作正常,抱着试试看的态度,果然如此。
总结一下:也就是STM8L052的看门狗工作时,主频最大只能不能是16MHz。
本来8MHz也没有关系,但是我的单片机接了一个串口通信设计,想尽可能地使用高波特率通信,16MHz主频下单片机串口波特率可以使用460800,8MHz下就不行,误码率太高。
求互:针对这个问题,有什么解决方法,还是说我的用法哪里没有注意到?
如果找不到答案,我想改版加个看门狗芯片IMP706S,额外增加1.4元成本。
收藏 评论5 发布时间:2019-9-21 12:56

举报

5个回答
mylovemcu 回答时间:2019-9-23 08:16:35
你用的是窗口看门狗吧  窗口看门狗是需要看最大时间和最小时间   只有在这个时间区间内喂狗才不会复位  否则就会复位  主频工作在16MHz下  可以用看门狗的分频器进行降频
要求不严格是时候可以用独立看门狗  独立看门狗是内部低速晶振  使用也比较简单
gaobingquan 回答时间:2019-9-23 08:59:23
我没有使用窗口狗,使用的就是独立狗
gaobingquan 回答时间:2019-9-23 09:08:53
8MHz主频下时间长了也发现复位情况,开始怀疑程序在一种极端情况下会延误喂狗,在找找软件问题。
gaobingquan 回答时间:2019-9-23 10:00:07
确诊了,软件的问题,只不过还没有找到,因为使用一个纯净的代码,就是点灯,不干其他工作,看门狗在16MHz下工作正常。应该是我软件的问题,和运行速度有关
butterflyspring 回答时间:2019-9-24 10:53:15
独立看门狗使用的是内部低速RC时钟,再二分频给看门狗计数器。下面是手册中列出来的时间范围可以参考一下。计算时间时要留一些余量,低速RC受环境变化会有一点变化。
STM8L IWDG TIMING.PNG
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版