我正在尝试将PWM用于ATmega8上的LED,端口B的任何引脚.设置定时器一直很烦人,我不知道如何处理我的OCR1A.这是我的代码,我喜欢一些反馈.
我只想弄清楚如何使用PWM.我知道这个概念,OCR1A应该是我希望脉冲开启的整个计数器时间的一小部分.
#define F_CPU 1000000 // 1 MHz
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/interrupt.h>
int main(void){
TCCR1A |= (1 << CS10) | (1 << CS12) | (1 << CS11);
OCR1A = 0x0000;
TCCR1A |= ( 0 << WGM11 ) | ( 1 << WGM10 ) | (WGM12 << 1) | (WGM13 << 0);
TCCR1A |= ( 1 << COM1A0 ) | ( 0 << COM1A1 );
TIMSK |= (1 << TOIE1); // Enable timer interrupt
DDRB = 0xFF;
sei(); // …Run Code Online (Sandbox Code Playgroud)