stm32f429按照原子的教程做IWDG实验,不能调整溢出时间??

2019-07-20 22:04发布

我自己买的是一块f429的开发板,但是这块开发板教程相对于原子教程来说,做的不是很完善,就借用原子的教程来学习,做到独立看门狗实验时,整个程序能跑,也能实现喂狗的效果,但是就是不能设置程序溢出时间,无论我设置重装载寄存器的值为多少,led的闪烁间隔感觉还是没变,至少没有很明显的变化?还麻烦大家帮忙看下,多多指教!
主函数中的15行 IWDG_Init(4,1000);无论我设置后面那个参数值(重装载值)为500,还是4000(最大为4095),理论上这两个值从led第一次亮到熄灭的时间应该有8倍之差(如果我一直不按键喂狗的话),但是实际没有这么明显的效果。还请大家多多指教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
特朗姆斯
1楼-- · 2019-07-21 03:51
袁小远 发表于 2016-5-19 16:25
嗯多谢啊,我呆会试试看,不过我感觉你的IWDG的初始化跟我的好像是差不多的方式

我推测有可能是细微的顺序上的区别。

IWDG的具体配置顺序手册上都有,我记不清了,你可以查一下。
特朗姆斯
2楼-- · 2019-07-21 05:11
我想知道IWDG和灯闪烁有什么关系
袁小远
3楼-- · 2019-07-21 09:00
 精彩回答 2  元偷偷看……
特朗姆斯
4楼-- · 2019-07-21 09:33
本帖最后由 特朗姆斯 于 2016-5-19 15:47 编辑

这是我测试过可行的看门狗初始化程序,你参考一下初始化的顺序。

你要测试看门狗的复位时间直接改IWDG_SetReload里面的值就好了。

void IWDG_Configuration( void )
{
               /* Enable the IWDG*/
                IWDG_Enable();
                /* Enable the access to the IWDG registers*/
                IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //0x55
                /* Fixe IWDG Reset period */
                IWDG_SetPrescaler(IWDG_Prescaler_64);
                IWDG_SetReload(0xF9F);
                /* Refresh IWDG */
                IWDG_ReloadCounter();
}
袁小远
5楼-- · 2019-07-21 12:38
特朗姆斯 发表于 2016-5-19 15:45
这是我测试过可行的看门狗初始化程序,你参考一下初始化的顺序。

你要测试看门狗的复位时间直接改IWDG_S ...

嗯多谢啊,我呆会试试看,不过我感觉你的IWDG的初始化跟我的好像是差不多的方式
袁小远
6楼-- · 2019-07-21 12:49
特朗姆斯 发表于 2016-5-19 16:37
我推测有可能是细微的顺序上的区别。

IWDG的具体配置顺序手册上都有,我记不清了,你可以查一下。

多谢你的回答啊,后来发现IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); 这句代码入口参数写成了ENABLE,导致没有开启写入权限!多谢你的代码啊!

一周热门 更多>