Как получитьOC1B (Pin10) для вывода с Timer1? - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь заставить эту программу использовать канал B для выходного сигнала, используя режим ШИМ с корректной фазой и используя OCR1A в качестве верхнего. С коэффициентом заполнения 50% я пытаюсь получить частоту 10 Гц. Я могу настроить OC1A (контакт 9), если установить TCCR1A в 0x43;но ничего не приходит от контакта 10. Код:

#include "avr/io.h"

void setup()  
{      
    DDRB = 0x6; //set pins 9 and 10 as output  

/*set operation Toggle mode; WGM13:0 = 1011 phase correct PWM
CS12:0 = 101 -> prescaler = 1024*/     
    TCCR1A = 0x23;  //TCCR1A = (COM1B1) | (WGM_11) | (WGM_10);
    TCCR1B = 0x15;  

    OCR1A = 0x187; //391 for 50% duty cycle  
    TCNT1 = 0; //clear counter and update OCR1A  
}  
void loop()  
{ }
...