Grüße,
1 | void setup() {
|
2 | DDRB = DDRB | B00000011; // Arduino 8&9 output
|
3 | TIMSK2 |= 0x01; // Overflow interrupt enable
|
4 | TCCR2B |= 0x01; // Start Timer, no prescaler
|
5 | }
|
6 |
|
7 | void loop() {
|
8 | // nix
|
9 | }
|
10 |
|
11 | ISR (TIMER2_OVF_vect) {
|
12 | PORTB ^= B00000010; // Toggle Pin
|
13 | if((PORTB & B00000010) > 0) TCNT2 = 0x80;
|
14 | }
|
Das ist der vollständige Code, nix gekürzt. Wird via Arduino IDE auf
einen Pro Mini @ 16 MHz geladen.
Erwartet hatte ich, dass der Pin 16µs LOW und 8µs HIGH ist. Tatsächlich
ist er aber 4ms LOW und 3ms HIGH (ja, ms, nicht µs)...
Jemand eine Idee? Danke :)