#include <stdio.h>/*标准输入输出*/
#include <stdlib.h> /*标准库*/
#include <unistd.h>
#include <sys/ioctl.h>/*输入输出控制*/
int main()
{
int i,j,m;/*i流水灯的编数,j、m延时程序用到的循环变量*/
int tmp;/*确定每个led状态的循环变量*/
int fd;/*设备号*/
fd = open("/dev/led1", 0);/*以0的方式打开设备*/
if (fd < 0)
{
fd = open("/dev/led0", 0);/*如果设备不存在换用另一设备*/
}
if (fd < 0) {
perror("open device led1");/*如果设备仍不存在打印错误原因*/
exit(1);
}
while(1)/*使程序无限循环*/
{
for(i=0;i<8;i++)/*循环显示八个灯的状态*/
{
for(tmp=0;tmp<8;tmp++)/*确定一个灯的状态*/
{
ioctl(fd,0,tmp);/*熄灭所有灯*/
ioctl(fd,1,i);/*点亮对应的灯*/
}
for(j=0;j<=4000;j++)/*延时程序*/
for(m=0;m<4000;m++);
}
}
close(fd);/*关闭设备*/
return 0;
}