在 C 语言中可以使用 TIMER1
定时器来实现固定频率占空比可变的 PWM 信号输出。
以下是一个示例代码,可以在 Arduino 平台上运行:
#include <avr/io.h>
int main(void) {
// 设置 PWM 引脚为输出
DDRB |= (1 << PB1);
// 设置定时器1为高速 PWM 模式
TCCR1A |= (1 << WGM11) | (1 << WGM10);
TCCR1B |= (1 << WGM13) | (1 << WGM12);
// 设置占空比
OCR1A = 0;
// 设置频率