打印
[ZLG-ARM]

看门狗的问题

[复制链接]
964|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lymbgd|  楼主 | 2009-4-17 00:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的程序不加看门狗的时候运行正常,加了看门狗以后,有时上电复位不正常,过好几分钟程序才开始运行,有时程序压根就不运行。
int main (void)
{
uint8 i;
       IO_init();
    
    Uart0Init();
    Uart1Init();
    Time0Init();
    Time1Init();    
    PWM_init();

。。。。。。

Enable_WDT(27648000);//使能看门狗并设置复位参数
    IRQEnable ();
    FIQEnable ();
。。。。。。
}
/**********************************************************************************************************
    使能看门狗(并设置复位参数)
**********************************************************************************************************/
void Enable_WDT(unsigned int wdtc)
{
      WDTC = wdtc;
      WDMOD = (1 << WDEN) | (1 << WDRESET);
      Reset_WDT();//必须在此复位看门狗一次(首次实际是启动看门狗)
}

/**********************************************************************************************************
    复位看门狗(首次实际是启动看门狗)
**********************************************************************************************************/
void Reset_WDT(void)
{
    uint32 tmp;//设置暂存器以取代Enable()/Disable()函数。
    
      tmp = VICIntEnable;//保护,相当与Disable()函数以代替关中断
      VICIntEnable = 0;//禁止所有FIQ和IRQ中断
      WDFEED = 0xaa;                                  
      WDFEED = 0x55; 
      VICIntEnable = tmp;//恢复,相当与Enable()函数以代替开中断     
}

相关帖子

沙发
lymbgd|  楼主 | 2009-4-17 00:56 | 只看该作者

哪位高人帮帮我

使用特权

评论回复
板凳
ictty| | 2009-5-14 13:33 | 只看该作者

你的看门狗应该没有设置

使用特权

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

本版积分规则

13

主题

82

帖子

0

粉丝