Как Линус представил на конференции 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);
Какой предпочтительный способ сделать это?