Rust 使用gpio cdev和Raspberry Pi中的锈迹将标志重置回正常状态

Rust 使用gpio cdev和Raspberry Pi中的锈迹将标志重置回正常状态,rust,raspberry-pi,gpio,Rust,Raspberry Pi,Gpio,因此,我使用Rust中的gpio cdev库访问了cdev的线路偏移量。我要求在它上面加上某些标志,最后,我想把它设置回正常状态。这是我写的代码 使用gpio_cdev::{Chip,LineRequestFlags}; 让chip=chip::new(“/dev/gpiochip0”); 让线=切屑。获取线(10)。展开(); 线 .请求( LineRequestFlags::输出, 0, &格式!(“rpi gpio-{}”,self.line.offset()), ) .unwrap();

因此,我使用Rust中的
gpio cdev
库访问了cdev的线路偏移量。我要求在它上面加上某些标志,最后,我想把它设置回正常状态。这是我写的代码

使用gpio_cdev::{Chip,LineRequestFlags};
让chip=chip::new(“/dev/gpiochip0”);
让线=切屑。获取线(10)。展开();
线
.请求(
LineRequestFlags::输出,
0,
&格式!(“rpi gpio-{}”,self.line.offset()),
)
.unwrap();
现在,我想让它恢复正常

line
   .request(
       LineRequestFlags::empty(),
       0,
       "",
   )
   .unwrap();

这其实很棘手。我必须在句柄的原始文件描述符上使用
libc::close()
,这需要使用不安全的块

libc::close(不安全的{line\u handle.as\u raw\u fd()})

那么,您在这方面有什么问题吗?如果您阅读了文档,结束行将使其恢复正常,无论这意味着什么。实际上,行为是特定于驾驶员的,而不是在该级别上指定的。但用户空间不应该对此做出任何假设。