您的位置:首页 > 其它

基于ARM 的led循环点亮C程序

2017-04-23 22:49 459 查看
基于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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: