打印
[ZLG-ARM]

2210内部看门狗问题

[复制链接]
1488|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jhycl|  楼主 | 2007-5-14 09:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
晶振11.0592 

看门狗设置:

    WDMOD = 0x00;
    WDTC  = 0xf00000;//6s    
    WDMOD = 0x03;      
    WDT_RESET();



void WDT_RESET()
{
    uint32 i;
    i = VICIntEnable;
    VICIntEnClr = 0xfffffff;
    WDFEED = 0xAA;
    WDFEED = 0x55;
    VICIntEnable = i;    
}


void  DelayMS(uint32  dly)
{
    uint32 i;
    
    for (;dly > 0;dly--)
    {
             WDT_RESET();
        for (i = 0;i < 800;i++);
    }
}


在主循环和延时程序中调用  WDT_RESET()

为什么不到6s程序就复位了?请指点

相关帖子

沙发
jhycl|  楼主 | 2007-5-14 16:14 | 只看该作者

这种方式开关中断是否正确?

使用特权

评论回复
板凳
zlgARM| | 2007-5-14 21:05 | 只看该作者

jhycl

您的程序看上去不太规范。
您可以去我们公司网站看看看门狗的使用方法,有疑问再谈。(针对的CPU不一样,但使用方法是一样的)
相关链接:http://www.zlgmcu.com/infocomm/newupdate.asp?sorttype=search

使用特权

评论回复
地板
jhycl|  楼主 | 2007-5-15 11:18 | 只看该作者

时不时开关中断有问题

网站上看了看门狗使用方法,我的使用方法应该没问题,我怀疑是开关中断有些问题,这种开关中断是否可行??

使用特权

评论回复
5
zlgARM| | 2007-5-15 12:53 | 只看该作者

jhycl

可以用操作CPSR的方法来开关中断,调用IRQENABLE和IRQDISABLE。

使用特权

评论回复
6
jhycl|  楼主 | 2007-5-15 15:28 | 只看该作者

是否是这样?(转自hotpower)

void __swi(0) Enable_IRQ(void);//开放向量中断总开关
void __SWI_0      (void) {
int tmp;
  __asm
  {
    MRS tmp, SPSR
    BIC tmp, tmp, #0x80
    MSR SPSR_c, tmp
  }
}

void __swi(1) Disable_IRQ(void);//关闭向量中断总开关
void __SWI_1       (void) {
int tmp;
  __asm
  {
    MRS tmp, SPSR
    ORR tmp, tmp, #0x80
    MSR SPSR_c, tmp
  }
}

void __swi(2) Enable_FIQ(void);//开放快速中断总开关
void __SWI_2      (void) {
int tmp;
  __asm
  {
    MRS tmp, SPSR
    BIC tmp, tmp, #0x40
    MSR SPSR_c, tmp
  }
}

void __swi(3) Disable_FIQ(void);//关闭快速中断总开关
void __SWI_3       (void) {
int tmp;
  __asm
  {
    MRS tmp, SPSR
    ORR tmp, tmp, #0x40
    MSR SPSR_c, tmp
  }
}

使用特权

评论回复
7
zlgARM| | 2007-5-15 18:42 | 只看该作者

RE

可以试一下。
都是操作CPSR,殊途同归。

使用特权

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

本版积分规则

30

主题

124

帖子

0

粉丝