Ugh, fine, if you insist.
In any event - it works for me!
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
}
void loop() {
delay(2000);
Serial.println();
Serial.println("Start");
Serial.println("Timer 0");
Serial.println(TCCR0A,HEX);
Serial.println(TCCR0B,HEX);
Serial.println(OCR0A,HEX);
Serial.println(OCR0B,HEX);
Serial.println("Timer 1");
Serial.println(TCCR1A,HEX);
Serial.println(TCCR1B,HEX);
Serial.println(OCR1A,HEX);
Serial.println(OCR1B,HEX);
Serial.println(OCR1C,HEX);
delay(2000);
analogWrite(12,127);
Serial.println("Wrote 12 127");
Serial.println("Timer 0");
Serial.println(TCCR0A,HEX);
Serial.println(TCCR0B,HEX);
Serial.println(OCR0A,HEX);
Serial.println(OCR0B,HEX);
Serial.println("Timer 1");
Serial.println(TCCR1A,HEX);
Serial.println(TCCR1B,HEX);
Serial.println(OCR1A,HEX);
Serial.println(OCR1B,HEX);
Serial.println(OCR1C,HEX);
delay(2000);
digitalWrite(12,0);
Serial.println("Wrote 12 LOW");
Serial.println("Timer 0");
Serial.println(TCCR0A,HEX);
Serial.println(TCCR0B,HEX);
Serial.println(OCR0A,HEX);
Serial.println(OCR0B,HEX);
Serial.println("Timer 1");
Serial.println(TCCR1A,HEX);
Serial.println(TCCR1B,HEX);
Serial.println(OCR1A,HEX);
Serial.println(OCR1B,HEX);
Serial.println(OCR1C,HEX);
delay(2000);
analogWrite(13,40);
Serial.println("Wrote 13 40");
Serial.println("Timer 0");
Serial.println(TCCR0A,HEX);
Serial.println(TCCR0B,HEX);
Serial.println(OCR0A,HEX);
Serial.println(OCR0B,HEX);
Serial.println("Timer 1");
Serial.println(TCCR1A,HEX);
Serial.println(TCCR1B,HEX);
Serial.println(OCR1A,HEX);
Serial.println(OCR1B,HEX);
Serial.println(OCR1C,HEX);
delay(2000);
digitalWrite(13,0);
Serial.println("Wrote 13 LOW");
Serial.println("Timer 0");
Serial.println(TCCR0A,HEX);
Serial.println(TCCR0B,HEX);
Serial.println(OCR0A,HEX);
Serial.println(OCR0B,HEX);
Serial.println("Timer 1");
Serial.println(TCCR1A,HEX);
Serial.println(TCCR1B,HEX);
Serial.println(OCR1A,HEX);
Serial.println(OCR1B,HEX);
Serial.println(OCR1C,HEX);
delay(2000);
analogWrite(12,127);
analogWrite(13,40);
Serial.println("Wrote 12 127,13 40");
Serial.println("Timer 0");
Serial.println(TCCR0A,HEX);
Serial.println(TCCR0B,HEX);
Serial.println(OCR0A,HEX);
Serial.println(OCR0B,HEX);
Serial.println("Timer 1");
Serial.println(TCCR1A,HEX);
Serial.println(TCCR1B,HEX);
Serial.println(OCR1A,HEX);
Serial.println(OCR1B,HEX);
Serial.println(OCR1C,HEX);
delay(2000);
digitalWrite(12,0);
digitalWrite(13,0);
Serial.println("Wrote 12, 13 LOW");
Serial.println("Timer 0");
Serial.println(TCCR0A,HEX);
Serial.println(TCCR0B,HEX);
Serial.println(OCR0A,HEX);
Serial.println(OCR0B,HEX);
Serial.println("Timer 1");
Serial.println(TCCR1A,HEX);
Serial.println(TCCR1B,HEX);
Serial.println(OCR1A,HEX);
Serial.println(OCR1B,HEX);
Serial.println(OCR1C,HEX);
delay(2000);
}
Output:
Start
Timer 0
3
3
28
0
Timer 1
1
3
0
7F
0
Wrote 12 127
Timer 0
3
3
28
0
Timer 1
21
3
0
7F
0
Wrote 12 LOW
Timer 0
3
3
28
0
Timer 1
1
3
0
7F
0
Wrote 13 40
Timer 0
83
3
28
0
Timer 1
1
3
0
7F
0
Wrote 13 LOW
Timer 0
3
3
28
0
Timer 1
1
3
0
7F
0
Wrote 12 127,13 40
Timer 0
83
3
28
0
Timer 1
21
3
0
7F
0
Wrote 12, 13 LOW
Timer 0
3
3
28
0
Timer 1
1
3
0
7F
0
Output on the pins looked fine on the scope. Pin 12 was at 50%, pin 13 was shorter, looked right to me?