正如Linus在Linux会议上介绍的那样,我们现在应该使用新的字符设备而不是/sys/class/gpio
。通过使用SFS,您可以通过将in
或out
写入/gpioN/direction
来更改引脚的方向。在新字符设备中,我找不到比关闭描述符并使用不同标志再次请求同一行更简单的方法:
struct gpiohandle_request req;
req.flags = GPIOHANDLE_REQUEST_INPUT;
ioctl(fd_chip, GPIO_GET_LINEHANDLE_IOCTL, &req);
// do some stuff
close(req.fd);
req.flags = GPIOHANDLE_REQUEST_OUTPUT;
ioctl(fd_chip, GPIO_GET_LINEHANDLE_IOCTL, &req);
首选的方式是什么?