打印

[求救]STM32F103VET6的看门狗

[复制链接]
2864|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fq1110|  楼主 | 2010-1-18 18:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
main()
{  
    u32 temp;
u8 flag=0;
u32 count=0;
RCC_init();   
Gpio_int();
GPIO_ResetBits(GPIOC,GPIO_Pin_5);//蜂鸣器叫一声关闭
for(temp=0;temp<20000000;temp++);
GPIO_SetBits(GPIOC,GPIO_Pin_5);

IWDG_init();
// GPIO_ResetBits(GPIOC,GPIO_Pin_6);//蜂鸣器叫一声关闭
GPIO_SetBits(GPIOC,GPIO_Pin_5);//LD1灯亮

Timer_init();
NVIC_init();
count=0;
  
   while(1)
{
  for(temp=0;temp<1000*1000;temp++)
   ;
#ifndef TEST
  if(count<10)
  {
   if(flag)
   {
    GPIO_ResetBits(GPIOC,GPIO_Pin_5);//蜂鸣器叫一声关闭
    flag=0;
   }
   else
   {
    GPIO_SetBits(GPIOC,GPIO_Pin_5);//LD1灯亮
    flag=1;
   }
   count++;
  }
#else
  if(count<10)
  {
   if(flag)
   {
    GPIO_ResetBits(GPIOF,GPIO_Pin_6);//蜂鸣器叫一声关闭
    flag=0;
   }
   else
   {
    GPIO_SetBits(GPIOF,GPIO_Pin_6);//LD1灯亮
    flag=1;
   }
   count++;
  }
#endif
}
}
此段代码在103FZE开发板上可看门狗可正常工作,确在F103VET6无法工作,从头至尾都没有喂狗,为何F103VET6不能复位,请问可能是硬件问题吗,需要注意些什么。
沙发
香水城| | 2010-1-18 23:20 | 只看该作者
你在哪里使能了看门狗?

使用特权

评论回复
板凳
fq1110|  楼主 | 2010-1-26 17:31 | 只看该作者
回香主:在这里面进行了使能。IWDG_init();

使用特权

评论回复
地板
fq1110|  楼主 | 2010-1-26 17:32 | 只看该作者
void IWDG_Init(void)
{
          IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
          /* IWDG counter clock: 40KHz(LSI) / 32 = 1.25 KHz */
          IWDG_SetPrescaler(IWDG_Prescaler_32);
          /* Set counter reload value to 349 */
          //该参数允许取值范围为0 – 0x0FFF
          IWDG_SetReload(3750);  //3s
       
          /* Reload IWDG counter */
          IWDG_ReloadCounter();
          /* Enable IWDG (the LSI oscillator will be enabled by hardware) */
          IWDG_Enable();
}

使用特权

评论回复
5
fq1110|  楼主 | 2010-1-26 17:34 | 只看该作者
香版主,我上面的代码貌似没问题吧,并且奇怪的是可以在开发板上正常工作,在自己的板子上不能工作。

使用特权

评论回复
6
香水城| | 2010-1-26 18:23 | 只看该作者
香版主,我上面的代码貌似没问题吧,并且奇怪的是可以在开发板上正常工作,在自己的板子上不能工作。
fq1110 发表于 2010-1-26 17:34


请问你自己的板子上的复位电路是什么样的?

你可以参考这个文档的第32页:STM32硬件设计问题解答(2009年9月)

使用特权

评论回复
7
fq1110|  楼主 | 2010-1-29 17:34 | 只看该作者

香版主,我的复位电路是这样的,有问题没有啊?希望得到你的提示。谢谢。

使用特权

评论回复
8
fq1110|  楼主 | 2010-1-29 17:55 | 只看该作者
初步将电容将10uF改成了100nF,好像成功了。。谢谢香版主。

使用特权

评论回复
9
gxgclg| | 2010-1-29 18:03 | 只看该作者
这个电容为何会影响看门狗

使用特权

评论回复
10
fq1110|  楼主 | 2010-2-2 18:29 | 只看该作者
不知道为什么。。。改了之后就可以了。。

使用特权

评论回复
11
香水城| | 2010-2-2 19:00 | 只看该作者
不知道为什么。。。改了之后就可以了。。
fq1110 发表于 2010-2-2 18:29


请参考这个文档的第32页:STM32硬件设计问题解答(2009年9月)

外部电容太大,将影响内部复位电路,使其不能正确地把复位引脚拉低。

使用特权

评论回复
12
dolphintroop| | 2013-6-30 23:01 | 只看该作者
STM32F103芯片内部的复位电路,是和这个复位管脚相连的,如果这个外部电容容值过大,将会影响到复位脉冲的波形,也就是说,这个波形将是一个缓慢上升的形状,那么这样的波形,是无法触发复位动作的。
一个较小的容值,会使得波形快速上升,会是一个令人满意的阶梯状波形。

使用特权

评论回复
13
dolphintroop| | 2013-6-30 23:02 | 只看该作者
在这里看到,很多提问的人,对硬件基本是没什么概念,开发单板,是需要了解一些硬件知识的。

使用特权

评论回复
14
njchenmin| | 2013-7-1 06:34 | 只看该作者
上电时间太长,可能导致看门狗初始化不成功

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

530

帖子

1

粉丝