#pwm #capture #reader #signals #reading #module #esp

无 std esp_pwm_reader

封装了 mcpwm 捕获模块以读取 PWM 信号

3 个版本

0.1.2 2023年11月19日
0.1.1 2023年11月19日
0.1.0 2023年11月19日

9 in #pwm

MIT 许可证

13KB
187 代码行,不包括注释

esp_pwm_reader

封装了 mcpwm 捕获模块以读取 PWM 信号。

文档

用法

  • 你需要创建一个捕获定时器,然后它可以被多个通道读取器使用
  • 例如:
    use channel_reader::{CaptureTimer, ChannelReader};
    use esp_idf_hal::delay::FreeRtos;
    
    use esp_idf_sys::{
      gpio_num_t_GPIO_NUM_16, gpio_num_t_GPIO_NUM_17
    };
    
    fn main() {
      let capture_timer = CaptureTimer::new(0).unwrap();
    
      let channel1 = ChannelReader::new(&capture_timer, gpio_num_t_GPIO_NUM_16).unwrap();
      let channel2 = ChannelReader::new(&capture_timer, gpio_num_t_GPIO_NUM_17).unwrap();
    
      loop {
          println!(
              "ch1: {} ch2: {}",
              channel1.get_value(),
              channel2.get_value()
          );
    
          FreeRtos::delay_ms(11);
      }
    }
    

依赖项

~6–16MB
~205K SLoC