📄 test-led.c
字号:
/*********************************************************************
* File: test-led.c
* Author: Embest
* Desc:
* History:
* Original version, 2005.4 Embest
* Program modify, 2005.06.05 Embest R.X.Huang <hungrx@embedinfo.com>
*********************************************************************/
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <linux/fcntl.h>
#define LED_NUM 4
#define LED_OFF 0
#define LED_ON 1
#define LED_ON_ALL 0xF
#define LED_OFF_ALL 0x0
int main(int argc, char** argv)
{
int i, j, wval, rval, fd;
static char *driver = "/dev/led/0";
printf("LED test example base on Linux. \n");
/* open led device */
fd = open(driver, O_RDWR);
if(fd <0)
{
printf("Can't not open %s\n",driver);
return fd;
}
/* test single led */
for(i=0; i<3; i++)
{
for(j=0; j<LED_NUM; j++)
{
wval = LED_ON<<j;
write(fd, &wval, 1);
read(fd, &rval, 1);
printf("Turn on LED%d, readback val = 0x%02X\n", j+1, rval&0xF);
/* delay 500ms */
usleep(500*1000);
}
}
/* test all leds */
for(i=0; i<6; i++)
{
if(i%2)
{
wval = LED_OFF_ALL;
write(fd, &wval, 1);
read(fd, &rval, 1);
printf("Turn off all LEDs, readback val = 0x%02X\n", rval&0xF);
}
else
{
wval = LED_ON_ALL;
write(fd, &wval, 1);
read(fd, &rval, 1);
printf("Turn on all LEDs, readback val = 0x%02X\n", rval&0xF);
}
/* delay 1s */
sleep(1);
}
printf(" end.\n");
/* close led device */
close(fd);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -