test-led.c

来自「iic测试程序」· C语言 代码 · 共 59 行

C
59
字号
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <linux/fcntl.h>


#define LED_NUM		4


int main(int argc, char** argv)
{
	int i, j, wval, rval, fd;

	printf("Test LED...\n");

	/* open led device */
	fd = open("/dev/led0", O_RDWR);

	/* test single led */
	for(i=0; i<3; i++)
	{
		for(j=0; j<LED_NUM; j++)
		{
			wval = 1<<j;
			write(fd, &wval, 1);
			read(fd, &rval, 1);
			printf("Turn on LED%d, readback val = 0x%02X\n", j+1, rval);
			/* delay 500ms */
			usleep(500*1000);
		}
	}
	
	/* test all leds */
	for(i=0; i<6; i++)
	{
		if(i%2)
		{
			wval = 0x00;
			write(fd, &wval, 1);
			read(fd, &rval, 1);
			printf("Turn off all LEDs, readback val = 0x%02X\n", rval);
		}
		else
		{
			wval = 0x0f;
			write(fd, &wval, 1);
			read(fd, &rval, 1);
			printf("Turn on all LEDs, readback val = 0x%02X\n", rval);
		}			
		/* delay 1s */
		sleep(1);
	}

	/* close led device */
	close(fd);

	return 0;
}

⌨️ 快捷键说明

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