led.c

来自「ARM92410芯片的开发试验源码!!!!1」· C语言 代码 · 共 63 行

C
63
字号
#include <string.h>
#include "2410addr.h"
#include "2410lib.h"

//================================
//名称:Led_Test
//功能:LED循环显示
//参数: void
//返回值: void
//================================
void Led_Test()
{  
       unsigned long LED;
       Uart_Printf("Led_Test.\n");
       
       //GPBCON  GPB10 [21:20] = 01 : Output
       //GPBCON  GPB10 [19:18] = 01 : Output
       //GPBCON  GPB10 [17:16] = 01 : Output
       //GPBCON  GPB10 [15:14] = 01 : Output
       rGPBCON &= (~(0x3<<20));
       rGPBCON |= ((0x1<<20));
       
       rGPBCON &= (~(0x3<<18));
       rGPBCON |= ((0x1<<18));
       
       rGPBCON &= (~(0x3<<16));
       rGPBCON |= ((0x1<<16));
       
       rGPBCON &= (~(0x3<<14));
       rGPBCON |= ((0x1<<14));
     
       //GPBDAT  GPB[10:0] [10:0] : Output Data
       rGPBDAT = 0xf7f;	
       
       Delay(100);
      
     Uart_Printf("PRESS ANY KEY TO STOP.");
    while (!Uart_GetKey())			
    {
        LED = rGPBDAT; 
        LED = (LED<<1);  //下一个灯亮
        rGPBDAT = LED;
        Delay(200);
        if(!(rGPBDAT & 0x400))	//保证第四个LED点亮后重新点亮第一个LED;
       		rGPBDAT=0xf7f;
        Delay(200);
    }
 Uart_Printf("\nTEST FINISHED.");
}
//============================
//名称:delay
//功能:延迟指定时间
//参数: x
//返回值: void
//============================
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++);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?