我是 Arduino Mega 的新手。我正在用它来构建一个开关模式调节器。我需要将 Arduino Mega 引脚 2 和引脚 3 PWM 频率更改为 10kHz 或更高。如果您能在这里用简单的方式解释并提供示例代码,非常感谢。
您需要访问定时器/计数器控制寄存器。
这将为您提供约 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);
}