STM32F103RC WWDG不复位

[复制链接]
3418|8
 楼主| sjnh 发表于 2010-8-10 11:14 | 显示全部楼层 |阅读模式
STM32F103RC WWDG不复位 :

用的IAR的例程,

  
  /* WWDG clock counter = (PCLK1/4096)/8 = 244 Hz (~4 ms)  */
  WWDG_SetPrescaler(WWDG_Prescaler_8);
  
  /* Set Window value to 65 */
  WWDG_SetWindowValue(65);
  /* Enable WWDG and set counter value to 127, WWDG timeout = ~4 ms * 64 = 262 ms */
  WWDG_Enable(127);
  /* Clear EWI flag */
  WWDG_ClearFlag();
  /* Enable EW interrupt */
  WWDG_EnableIT();

能进中断,
  /* Update WWDG counter */
//  WWDG_SetCounter(0x7F);
  /* Clear EWI flag */
  WWDG_ClearFlag();

屏蔽//  WWDG_SetCounter(0x7F);  不复位怎么回事?
香水城 发表于 2010-8-10 11:33 | 显示全部楼层
开时钟了吗?

你可以对照STM32固件库中的例子看看。
 楼主| sjnh 发表于 2010-8-10 11:43 | 显示全部楼层
就是用的IAR固件库中的例子开了,能进中断,在中断中屏蔽//  WWDG_SetCounter(0x7F);  后,不复位,完全照抄
香水城 发表于 2010-8-10 11:47 | 显示全部楼层
怎么知道不复位?
soy663300 发表于 2010-8-10 11:48 | 显示全部楼层
怎么会这样子呢?
 楼主| sjnh 发表于 2010-8-10 11:50 | 显示全部楼层
用了几个LED指示状态,如果复位后会有LED指示开机后几秒钟不同的状态,并且用串口也能得到很多内部数据在开机5秒内是0,之后会改变
香水城 发表于 2010-8-10 12:04 | 显示全部楼层
1)请确认未经修改的例子是正确的。另外我不知道你用的IAR固件库中的例子是否与STM32固件库中的例子一致,也请确认清楚。

2)检查RCC_CSR寄存器中的WWDGRSTF标志,以确认是否有WWDG复位。
 楼主| sjnh 发表于 2010-8-10 12:45 | 显示全部楼层
例子是与STM32完全一样的,

RCC_CSR寄存器中的WWDGRSTF标志,没有置位
能周期中断,我把中断屏蔽后,WWDG_SR中(EWIF: 提前唤醒中断标志)置位,还是不复位

有没有别的像开关之类的标志能控制WWDG到复位电路?
香水城 发表于 2010-8-10 17:41 | 显示全部楼层
没有开关能控制WWDG到复位电路,WWDG到复位电路是直联的。

我也不知道问什么你出现这种问题,也许是版本不匹配,请在ST网站下载最新固件库,更新一下吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

1345

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部