目前使用STM8L052R8做个产品,这个片子又便宜又好,该有的功能都有。软件一切功能都调试完毕,最后想启动看门狗。问题来了,主程序工作在16MHz下,外部晶振,分频系数为1,看门狗会导致不定时的意外重启。 从程序复位后监测复位寄存器的标志位,确实看门狗引起的。 测量了看门狗设置的时间,如果不喂狗也的确是1.7s,自动重启,时间设置没有问题。 主程序循环里面大约20ms就能喂一次狗,软件不会导致延误喂狗。 从网上找资料,有个论坛里的一个帖子提到说,STM8L的看门狗,16MHz主频分频系数=2就工作正常,抱着试试看的态度,果然如此。 总结一下:也就是STM8L052的看门狗工作时,主频最大只能不能是16MHz。 本来8MHz也没有关系,但是我的单片机接了一个串口通信设计,想尽可能地使用高波特率通信,16MHz主频下单片机串口波特率可以使用460800,8MHz下就不行,误码率太高。 求互:针对这个问题,有什么解决方法,还是说我的用法哪里没有注意到? 如果找不到答案,我想改版加个看门狗芯片IMP706S,额外增加1.4元成本。 |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
要求不严格是时候可以用独立看门狗 独立看门狗是内部低速晶振 使用也比较简单