OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3921|回复: 4

关于STM32 M4窗口看门狗的一点问题

[复制链接]

2

主题

14

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2017-1-16
在线时间
4 小时
发表于 2017-1-16 19:23:48 | 显示全部楼层 |阅读模式
6金钱
按照正点原子官方给的源码编译窗口看门狗库函数实验,然后下载到开发板上,现象是绿灯一直闪烁,然后我debug了一下,一直没有进入中断函数。

于是我将窗口看门狗的中断函数里的 LED1 = !LED1 给//,也就是去掉,然后下载到开发板上,发现现象是红灯一直闪烁,闪烁的时间间隔为主函数的延迟函数,也就是说,实际上板子一直在reset,看门狗没有喂食成功。

所以作为一个刚刚开始学STM32的初学者,我想问一问正确的窗口看门狗该怎么写。

有没有大神知道的,急!!!!

最佳答案

查看完整内容[请看2#楼]

最后问题解决了,更改时钟的配置,在system_stm32f4xx.c 中补上这句话 然后那个减法计数器就正常了,哎 对于初学者来说,这种调试还真TM烦
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2017-1-16
在线时间
4 小时
 楼主| 发表于 2017-1-16 19:23:49 | 显示全部楼层
最后问题解决了,更改时钟的配置,在system_stm32f4xx.c 中补上这句话
QQ图片20170117014238.png
然后那个减法计数器就正常了,哎 对于初学者来说,这种调试还真TM烦
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2017-1-16
在线时间
4 小时
 楼主| 发表于 2017-1-16 22:13:11 | 显示全部楼层
之后我又重新开了板子的电源开关,板子红灯闪了好几下,最后还是灭了,那是不是看门狗起作用了呢,我又把程序里的while改了改
[mw_shl_code=applescript,true]while(1)
{
        LED1=0;  //ϨÃeLEDμÆ
        delay_ms(300);
        LED1=1;
        delay_ms(300);
}[/mw_shl_code]
我编译下到开发板上,现象是红灯亮,绿灯闪烁,程序好像没有问题,但是我断开电重开时,板子上的两个灯闪了两下都灭了,实在想弄明白,我又进了debug,看寄存器,发现当使看门狗时钟使能时,WWDG->CR的T,也就是减法寄存器就开始一直变,当程序运行到WWDG_Enable时,程序就跳出了WWDG_Init这个函数,后面的中断设置都没执行,然后我在while里面的第一排设置断点,然后RUN,板子上的绿灯竟然开始闪烁了,我都没找到黄色的小箭头在哪儿,有大神知道怎么一会事吗?
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2017-1-16
在线时间
4 小时
 楼主| 发表于 2017-1-17 00:05:52 | 显示全部楼层
根据我不断的调试,结果为每执行一次汇编语句,T的值都会大幅变化,当程序执行到
[mw_shl_code=applescript,true]WWDG_Enable(WWDG_CNT);[/mw_shl_code]
汇编语句执行到图
QQ图片20170116235829.png
此时寄存器的值如图
QQ图片20170116235843.png
再然后执行就reset了
回复

使用道具 举报

2

主题

14

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2017-1-16
在线时间
4 小时
 楼主| 发表于 2017-1-17 10:03:20 | 显示全部楼层
自顶留作纪念
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 07:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表