Hardware Reference
In-Depth Information
108 static int
109 gpio_open_edge(int pin,const char
edge) {
110 char buf[128];
111 FILE
f;
112 int fd;
113
114 /
/
115 gpio_setpath(pin gp_export,buf,sizeof buf);
116 f = fopen(buf,"w");
117 assert(f);
118 fprintf(f,"%d\n",pin);
119 fclose(f);
120
121 /
Export pin: /sys/class/gpio/export
/
122 gpio_setpath(pin,gp_direction,buf,sizeof buf);
123 f = fopen(buf,"w");
124 assert(f);
125 fprintf(f,"in\n");
126 fclose(f);
127
128 /
Direction: /sys/class/gpio%d/direction
/
129 gpio_setpath(pin,gp_edge,buf,sizeof buf);
130 f = fopen(buf,"w");
131 assert(f);
132 fprintf(f,"%s\n",edge);
133 fclose(f);
134
135 /
Edge: /sys/class/gpio%d/edge
/
136 gpio_setpath(pin,gp_value,buf,sizeof buf);
137 fd = open(buf,O_RDWR);
138 return fd;
139 }
140
141 /
Value: /sys/class/gpio%d/value
142
Close ( unexport ) GPIO pin :
143
/
144 static void
145 gpio_close(int pin) {
146 char buf[128];
147 FILE
f;
148
149 /
/
150 gpio_setpath(pin,gp_unexport,buf,sizeof buf);
151 f = fopen(buf,"w");
Unexport: /sys/class/gpio/unexport
Search WWH ::




Custom Search