📄 shouhuled.c
字号:
#include <stdio.h>#include<stdlib.h>#include<sys/types.h>#include<unistd.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 0x0void init_daemon(void){ int pid; int i; if(pid=fork()) exit(0);//父进程退出 else if(pid< 0) exit(1); setsid(); chdir(""); umask(0); if(pid=fork()) exit(0); else if(pid< 0) exit(1); for(i=0;i< 5;++i) close(i); return;}int main(int argc, char ** argv){ int i, j, wval, rval, fd; static char *driver = "/dev/led/0"; init_daemon(); fd = open(driver, O_RDWR); while(1) { sleep(5); 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); } } close(fd); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -