提问人:Lulet 提问时间:10/4/2023 更新时间:10/4/2023 访问量:23
PWM x 6 atmega 328P 接口
PWM x 6 atmega 328P
问:
在我的项目中,我使用 ATmega328P 石英 18432000 Hz 并预除以 8 如何将所有输出的PWM频率降低到100Hz左右,现在是9 kHz
`void init_pwm()
{
// Wyłącz wszystkie kanały PWM na początek
TCCR1A = 0;
TCCR1B = 0;
TCCR0A = 0;
TCCR0B = 0;
TCCR2A = 0;
TCCR2B = 0;
// Konfiguracja pierwszego kanału (OCR1A) - PB1 (pin 9)
TCCR1A |= (1 << WGM10) | (1 << COM1A1);
TCCR1B |= (1 << WGM12) | (1 << CS10); // Preskaler = 1
// Konfiguracja drugiego kanału (OCR1B) - PB2 (pin 10)
TCCR1A |= (1 << WGM10) | (1 << COM1B1);
// Konfiguracja kanału PD3 (pin 3)
TCCR0A |= (1 << WGM00) | (1 << WGM01) | (1 << COM0A1); // Odwrócone działanie PWM
TCCR0B |= (1 << CS00); // Preskaler = 1
// Konfiguracja kanału PD5 (pin 5)
TCCR0A |= (1 << WGM00) | (1 << WGM01) | (1 << COM0B1); // Odwrócone działanie PWM
// Konfiguracja kanału PD6 (pin 6)
TCCR2A |= (1 << WGM20) | (1 << WGM21) | (1 << COM2A1); // Odwrócone działanie PWM
TCCR2B |= (1 << CS20); // Preskaler = 1
// Konfiguracja kanału PB3 (pin 11)
TCCR2A |= (1 << WGM20) | (1 << WGM21) | (1 << COM2B1); // Odwrócone działanie PWM
}`
答: 暂无答案
评论