天嵌 ARM开发社区

 找回密码
 注册
查看: 2251|回复: 3

针对TQ2440的跑马灯程序,有点问题

[复制链接]
小胖子 发表于 2010-7-8 14:53:27 | 显示全部楼层 |阅读模式
大家好,针对TQ2440开发板不带裸机程序,我写了一个跑马灯程序,但是有一些问题,希望和大家讨论一下。
    代码如下:
    init.s文件代码:
  AREA |DATA|,CODE,READONLY
  ENTRY
  ldr r13, =0x1000
  IMPORT ledMain
  b ledMain
  END

    LED.s文件代码:
#define GPBCON (*(volatile unsigned *)0x56000010)
#define GPBDAT (*(volatile unsigned *)0x56000014)
#define GPBUP (*(volatile unsigned *)0x56000018)
/*-------------------------------------------------------------
函数名称:        ledMain
功能描述:        入口程序
                        初始化后,进入跑马灯死循环
传    参:        无
返 回 值:        int 0
-------------------------------------------------------------*/

int ledMain()
{
       
        void Delay(unsigned int);
        unsigned char ledtab=0xde;
        int i;
        GPBCON = 0xd57fc;        // GPB5,GPB6,GPB7,GPB8设置为输出
        GPBDAT = ((1<<5)|(1<<6)|(1<<7)|(1<<8));        //使LED全灭
        GPBDAT&=0xffe;                //关闭蜂鸣器
        GPBUP = 0xf00;
        GPBDAT=0xefe;                //LED4亮
        Delay(5);
        while(1)
        {      
                        GPBDAT=0xfde;        //LED1亮
                        Delay(1);
                        GPBDAT=0xfbe;        //LED2亮
                        Delay(1);
                        GPBDAT=0xf7e;        //LED3亮
                        Delay(1);
        }
        return(0);
}


void Delay(unsigned int x )
{
        unsigned int i,j,k;
        for(i=0;i<=x;i++)
                for(j=0;j<=0xff;j++)
                        for(k=0;k<=0xff;k++);

}

      问题是这样的:循环外部,我让led4亮;循环内部,我让led1-led3循环点亮。但是死循环只维持一会,程序就从头执行了,也就是说led4会亮。换句话说,在器件里面运行时,为啥总跳出循环从头执行呢?
      这实在是匪夷所思啊,希望天嵌的软件开发人员认真思考我的问题!
yy123456 发表于 2010-7-26 17:37:53 | 显示全部楼层
程序跳出来,是因为看门狗自动复位导致的。
把看门狗关掉就可以了——在led.s的语句“b ledMain ”前面加上下面一段看下:
;=========================================
ldr r0,=WTCON       ;watch dog disable
ldr r1,=0x0
str r1,[r0]
guoyin 发表于 2010-8-10 21:45:06 | 显示全部楼层
不错,支持一下!
haichang417 发表于 2010-8-11 13:33:07 | 显示全部楼层
嗯。回答的很好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-18 10:25 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表