簡體   English   中英

在 Raspberry Pi 中使用 gpio-cdev 和 Rust 將標志重置為正常

[英]Reset flags back to normal using gpio-cdev and Rust in Raspberry Pi

因此,我使用 Rust 中的gpio-cdev庫訪問了 cdev 的行偏移量。 我在上面請求了某些標志,最后,我想將它恢復正常。 這是我寫的代碼

use gpio_cdev::{Chip, LineRequestFlags};

let chip = Chip::new("/dev/gpiochip0");
let line = chip.get_line(10).unwrap();
line
    .request(
       LineRequestFlags::OUTPUT,
       0,
       &format!("rpi-gpio-{}", self.line.offset()),
    )
    .unwrap();

現在,我想恢復正常

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

這實際上很棘手。 我必須在句柄的原始文件描述符上使用libc::close() ,這需要使用 unsafe 塊

libc::close(unsafe { line_handle.as_raw_fd() })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM