OpenEdv-开源电子网

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

战舰 窗口看门狗 例程 有在板子上跑过的朋友没 感觉与寄存器版本的现象不一致 LED1没反应,LED0一直闪烁

[复制链接]

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
发表于 2014-4-16 19:03:19 | 显示全部楼层 |阅读模式
如题。
下载的是最新的例程
硬件资源-战舰
闷鱼闷闷不乐吃焖鱼
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-4-16 23:39:16 | 显示全部楼层
不会吧,下载的资料汇总贴里面的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2014-4-17 09:41:09 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------是的   最新的历程

另外我补充了 在勘误贴子里面也有回复 

主要是 中断那个地方有问题 中断分级函数放在初始化函数的RCC时钟初始化之后 才会有正常的现象。

否则就是狗的中断进不去 所以灯也就一直不闪烁
闷鱼闷闷不乐吃焖鱼
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-4-17 22:13:13 | 显示全部楼层
这个,我测试正常的。
可以看到DS1,也就是绿灯不停的闪。

实验7 窗口看门狗实验.rar

92.65 KB, 下载次数: 62

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2014-3-27
在线时间
0 小时
发表于 2014-4-19 17:17:05 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
为什么库函数版本的窗口看门狗实验程序,解压之后下载进去现象正常(DS0亮一下,DS1闪烁),而用Keil uVision4编译以后再下进去就变成了DS0一直闪烁
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-4-19 23:20:42 | 显示全部楼层
回复【5楼】扬帆远航:
---------------------------------
你用MDK4.几?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2014-4-21 15:28:00 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥 你换块板子试试  然后 我用的是 keil 4.72a的
闷鱼闷闷不乐吃焖鱼
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-4-21 19:23:43 | 显示全部楼层
回复【7楼】闷鱼:
---------------------------------
我用MDK4.70A和MDK5.10,都可以。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2014-4-22 12:11:18 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
那我换个编译器试试
闷鱼闷闷不乐吃焖鱼
回复 支持 反对

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2014-4-22 12:13:18 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
我说的是库函数版本的 ..寄存器的都没有问题

你给的这个也是可以跑的 没有问题
闷鱼闷闷不乐吃焖鱼
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-4-22 20:27:53 | 显示全部楼层
刚刚找了下问题,发现问题点,但是不知道为什么。
库函数版本,只要将初始化函数里面的:WWDG_SetWindowValue(wr);//设置窗口值  
替换成:
WWDG->CFR&=0XFF80;      
WWDG->CFR|=wr;      //设定窗口值
就可以正常执行了。

但是我仿真看过,两者操作后,得到的CFR寄存器值,是一模一样的,但是用寄存器操作就可以,库函数不行。
很是费解..
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

23

主题

292

帖子

0

精华

高级会员

Rank: 4

积分
501
金钱
501
注册时间
2013-9-17
在线时间
17 小时
 楼主| 发表于 2014-4-23 00:58:57 | 显示全部楼层
嗯 我也尝试一下你这个方法 

这么怪异的事情 

回复【11楼】正点原子:
---------------------------------
之前 我也有一个问题点

就是将中断放到初始化函数的时钟初始化代码后面 

也可以执行  这个方式没有通过寄存器来设置窗口值

然后也没弄清楚具体原因
闷鱼闷闷不乐吃焖鱼
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2014-4-28
在线时间
1 小时
发表于 2015-4-20 23:24:09 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
原子哥!晚辈在学习窗口狗时确实也遇到了重新编译您的这节例程后,下载完反复复位的问题!反复研究,发现一个关键问题点:
看门狗中断分组函数里头,您原来的函数少了  通道使能:(  NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;),添加了该语句,程序恢复正常!以下是修改后的中断分组函数:
void WWDG_NVIC_Init()
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQn;    
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;  
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
对自己狠点!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 12:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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