Hello :)!
I am new to Arduino, I have been using AVR studio for compiling and programming of Atmega 2560. Recently I have been moved to Arduino, the issue which I am facing is that I wasn't able to use 2 or 3 output compare match in one-timer. For example, I am using 16-bit timer 3, but I can't use both of its A and B at the same time, maybe I have been doing in the wrong way at Arduino. As at AVR studio 7, this type of code runs smoothly and doesn't give any issue. The issue I am facing as when I assign Timer 3 some value then after onward again assign some value to it to enable its second B output it overwrites the first one and i didn't get anything at the output of OCR3A. the only output I was getting was at OCR3B. basically I am generating a 50hz PWM signal using timer 3. Any Help would be highly appreciated. Kindly stick to machine code not get into libraries etc. Thanks. The code is attached.
void setup() {
pinMode(5,OUTPUT);
pinMode(2,OUTPUT);
//Timer 3-A
TCCR3A = 0x82; //TCCR3A |= (1<<WGM31)|(0<<WGM30)|(1<<COM3A1)|(0<<COM3A0);
TCCR3B = 0x12; //TCCR3B |= (1<<WGM33)|(0<<WGM32)|(1<<CS31)|(0<<CS30);
ICR3 = 20000;
//Timer 3-B
TCCR3A = 0x22; //TCCR3A |= (1<<WGM31)|(0<<WGM30)|(1<<COM3B1)|(0<<COM3B0);
TCCR3B = 0x12; //TCCR3B |= (1<<WGM33)|(0<<WGM32)|(1<<CS31)|(0<<CS30);
ICR3 = 20000;
}
void loop() {
OCR3A=1000;
OCR3B=1500;
}