小编Dyl*_*4GT的帖子

使用 Timer1 设置 Arduino Uno (ATMEGA328P) PWM

我想使用 16MHz Arduino Uno (ATMEGA328P) 设置自定义频率 (12Hz) 和占空比 (20%)。

AVR 计算器产生:

ICR1 = 20833
OCR1A = 4167
Run Code Online (Sandbox Code Playgroud)

我已经阅读了大量的论坛和 tuts 但由于某种原因我无法让它工作。

下面是我的代码:

void setup()
{
  // PB1 is now an output (Pin9 Arduino UNO)
  DDRB |= (1 << DDB1);
  // PB2 is now an output (Pin10 Arduino UNO)
  DDRB |= (1 << DDB2);

      // Set PWM frequency/top value
      ICR1 = 20833;

      // Set PWM duty cycle
      OCR1A = 4167;

      // Set inverting mode (start low, go high)
      TCCR1A |= (1 << …
Run Code Online (Sandbox Code Playgroud)

pwm arduino-uno

2
推荐指数
1
解决办法
5840
查看次数

标签 统计

arduino-uno ×1

pwm ×1