基于ARM 的led循环点亮C程序
#include "S3C2451.h"
#define LED1_CON (1 << 5)
#define LED2_CON (1 << 5)
#define LED3_CON (1 << 25)
#define LED4_CON (1 << 26)
/*
Active is low.(LED On)
26 25 6 5
GPA26 GPA25 GPB6 GPB5
LED_4 LED_3 LED_2 LED_1
*/
void DelayNS(uint32 dly)
{
uint32 i;
for(; dly > 0; dly--)
{
for(i = 0; i < 50000; i++)
{}
}
}
void led_displayallon()
{
rGPBDAT = rGPBDAT | (0x03 << 5);
rGPADAT = rGPADAT | (0x03 << 25);
}
void led_displayalloff()
{
rGPBDAT = rGPBDAT &(~(0x03 << 5));
rGPADAT = rGPADAT &(~(0x03 << 25));
}
int main()
{
rGPBCON = (rGPBCON & (~(0x0f << 10))) | (0x05 << 10);
rGPACON = (rGPACON & (~(0x0f << 25))) | (0x01 << 25);
int i;
while(1)
{
for(i = 0; i < 5; i++)
{
led_displayallon();
DelayNS(5);
led_displayalloff();
DelayNS(5);
}
}
return 0;
}