Hallo !
Kann mir jemand sagen, ob es möglich ist, einen generierten
1-Sekunden-Takt in einer Variablen zu speichern, die man dann in einer
Wartefunktion weiterverarbeiten kann ?
Was ich nämlich nicht verstehe ist, dass mit dem Programmbeispiel die
LED blinkt, aber sobald ich in der ISR nur takt--; stehen habe, und den
Rest in der Hauptschleife oder einer weiteren Funktion bearbeiten will,
klappt es nicht mehr. Als würde der Zustand von "takt" aussehalb der ISR
nicht erhalten bleiben.
Auch eine Abfrage auf den PORT funktioniert nicht...
1 | static int takt=1000;
|
2 |
|
3 |
|
4 | //------------------- ISR für Timer0 1ms ---------------------------
|
5 |
|
6 | ISR(TIMER0_COMP_vect)
|
7 | {
|
8 | takt--;
|
9 | if(takt==0)
|
10 | {
|
11 | PORTC^=(1<<PC3); takt=1000;
|
12 | }
|
13 | }
|