#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/select.h> #include <sys/time.h> static int led_fd; int main(void) { // open device
led_fd = open("/dev/led", 0); /*打开设备文件*/ if (led_fd < 0) { perror("open device led"); exit(1); } printf("Please look at the leds\n"); // led all off
ioctl(led_fd, 1, 0); /*对led设备进行操作*/ ioctl(led_fd, 1, 1); ioctl(led_fd, 1, 2); ioctl(led_fd, 1, 3); for(;;) { // led on one by one
ioctl(led_fd, 0, 0); usleep(500000); ioctl(led_fd, 0, 1); usleep(500000); ioctl(led_fd, 0, 2); usleep(500000); ioctl(led_fd, 0, 3); usleep(500000); // led off one by one
usleep(500000); ioctl(led_fd, 1, 1); usleep(500000); ioctl(led_fd, 1, 2); usleep(500000); ioctl(led_fd, 1, 3); usleep(500000); // all led on
ioctl(led_fd, 0, 0); ioctl(led_fd, 0, 1); ioctl(led_fd, 0, 2); ioctl(led_fd, 0, 3); usleep(500000); // all led off
ioctl(led_fd, 1, 0); ioctl(led_fd, 1, 1); ioctl(led_fd, 1, 2); ioctl(led_fd, 1, 3); usleep(500000); } close(led_fd); return 0; }
|