更改 Arduino Mega 引脚 2 和引脚 3 PWM 频率

问题描述 投票:0回答:1

我是 Arduino Mega 的新手。我正在用它来构建一个开关模式调节器。我需要将 Arduino Mega 引脚 2 和引脚 3 PWM 频率更改为 10kHz 或更高。如果您能在这里用简单的方式解释并提供示例代码,非常感谢。

arduino frequency pwm
1个回答
0
投票

您需要访问定时器/计数器控制寄存器。

这将为您提供约 62.7 kHz 的 PWM 频率。下一个可能的较小频率是 7.8 kHz。为此,您必须设置位

CS31
而不是
CS30

int pwmPin1 = 2;
int pwmPin2 = 3;

void setup() {
  pinMode(pwmPin1, OUTPUT);
  pinMode(pwmPin2, OUTPUT);

  //WGM30 = set Timer mode to PWM
  //COM3B/C1 = clear Output on compare match
  TCCR3A = (1<<WGM30)|(1<<COM3B1)|(1<<COM3C1);

  //CS30 = set prescaler to 1
  TCCR3B = (1<<CS30);  
}

void loop() {
  analogWrite(pwmPin1, 127); //Change for your desired Duty-Cycle (from 0 to 255)
  analogWrite(pwmPin2, 63);
}
© www.soinside.com 2019 - 2024. All rights reserved.