linux/Android LED deamon
2015-06-26 11:09
656 查看
/* * author: chwenj@gmail.com. * Agreement: GPL. */ #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> #include <unistd.h> #include <termios.h> #include <errno.h> #include <pthread.h> #include <time.h> #include<signal.h> #define DEVICE_FILE "/dev/gpio_cdev" typedef struct { unsigned char count; //GPIO序列 unsigned char data; //GPIO电平状态 } gpio_userspace_t; int fd; void init_deamon() { int pid; int i; if (pid < 0) exit(0); else if (pid < 0) exit(1); setsid(); if (pid = fork()) exit(0); else if (pid < 0) exit(1); chdir("/system"); umask(0); return; } int main(int argc, char **argv) { int fd; gpio_userspace_t gpio; signal(SIGCHLD, SIG_IGN); init_deamon(); while (1) { fd = open(DEVICE_FILE, O_RDWR); //#PH23: LED off gpio.count = 6; //GPIO序列号 gpio.data = 1; //GPIO电平值 write(fd, &gpio, sizeof(gpio_userspace_t)); sleep(4); //#PH23: LED on gpio.count = 6; //GPIO序列号 gpio.data = 0; //GPIO电平值 write(fd, &gpio, sizeof(gpio_userspace_t)); sleep(4); close(fd); } return 0; }
<pre name="code" class="html">LOCAL_PATH:= $(call my-dir)ifeq (a, a)
include $(CLEAR_VARS)LOCAL_SRC_FILES:= led-service.cLOCAL_MODULE := led-serviceLOCAL_SHARED_LIBRARIES:= libcutils libutilsLOCAL_MODULE_TAGS := optionalinclude $(BUILD_EXECUTABLE)endif
<pre name="code" class="html">service led-service /system/bin/led-serviceclass mainuser rootgroup rootoneshot
相关文章推荐
- centos查看硬件信息
- centos查看硬件信息
- LINUX FTP安装与配置
- 【Linux】设置环境变量
- linux防僵尸进程的学习总结
- linux下启动和关闭网卡命令
- linux core文件的设置
- linux系列1 - centos5.8 x64安装过程
- Linux CPU数量判断,通过/proc/cpuinfo
- linux系列2-pxe+dhcp+nfs+kickstart无人值守批量安装Centos5.8 x64
- linux内核map图
- Linux函数accept中断处理
- Linux下去掉^M的方法
- linux 安装php 不安装mysql 需要支持mysql mysqli mysql-pdo
- centos性能监控系列一:常用监控命令
- centos性能监控系列一:常用监控命令
- linux端口
- Linux 添加DNS服务器地址
- CentOS6.6下安装vim7.4
- CentOS6.6下安装vim7.4