Vielen Dank für die ganzen Antworten, Ich dachte schon Ich habe mich im
Datenblatt geirrt obwohl Ich da solange drin gestöbert habe.
Ich wusste nur nicht dass man zu jedem Interrupt den man enabled hat
auch eine Routine braucht... Wie gesagt,Ich arbeite mich in das Thema
ein, hätte Ich mir aber auch denken können.
Habe einfach den OCR1A Interrupt disabled und jetzt klappts.
Danke an alle.
PS an m.n, habe den Code umgeändert da Ich dachte dass dort der Fehler
in der Interruptroutine läge und habe nicht bedacht dass Ich vorher eine
andere Version im Forum gepostet habe.
Naja hier nochmal der Code der auch funktioniert für Interessierte und
Leser die mal das selbe / ähnliche Problem haben werden
1 | volatile boolean testbool=false; // Variable die beim Interrupt umschaltet
|
2 |
|
3 | void setup() {
|
4 | pinMode(9,OUTPUT);
|
5 | pinMode(10,OUTPUT);
|
6 | Serial.begin(115200); // Serial SETUP
|
7 | TCCR1A = 0;
|
8 | TCCR1B = 0;
|
9 | TCCR1A |= (1<<WGM10) | (1<<COM1A1) | (1<<COM1B1); // setup... non-Inverting PWM Mode
|
10 | TCCR1B |= (1<<CS10) | (1<<WGM12); //prescaler = 1, FastPWM 8-Bit Mode
|
11 | TIMSK1 |= (1<<TOIE1); // ... enable Timer1 Overflow Interrupt
|
12 | }
|
13 |
|
14 | ISR(TIMER1_OVF_vect){
|
15 | testbool=true;
|
16 | }
|
17 |
|
18 | void loop() {
|
19 | Serial.println("Im Loop angekommen");
|
20 | if(testbool==true)
|
21 | {
|
22 | Serial.println("Interrupt wurde ausgelöst");
|
23 | testbool=false;
|
24 | }
|
25 | else
|
26 | {
|
27 | /**
|
28 | * DO NOTHING
|
29 | */
|
30 | }
|
31 |
|
32 | }
|