johnny schrieb:
> und ein delay von ein paar ms is noch in der Schleife :)
>
> Ich stelle mir dass so vor: ISR --> LED ein paar ms ein,
schon falsch.
Mach aus den Millisekunden ein paar Mykrosekunden (Millionstel Sekunden)
> dann zurück in
> die while Schleife --> LED aus
Nope.
Das LED aus muss ebenfalls in der ISR passieren.
--> bis 1000 zählen, in die ISR --> LED
> ein;
>
> und die 1000 möchte ich halt auch auf 100 stellen können mit einer Taste
Und du denkst, dass du so schnell eine Taste drücken und wieder
loslassen kannst, dass du kontrollieren kannst, welche der beiden if
1 | if ((PINA & (1<<PINA0)) == 0x00)
|
2 | {
|
3 | variable = 1000;
|
4 | }
|
5 | if ((PINA & (1<<PINA0)) == 0x00)
|
6 | {
|
7 | variable = 100;
|
8 | }
|
denn jetzt das letzte Wort hat.
Zu deiner Info: Dein µC arbeitet diese beiden Anweisungen (und den Rest
deiner Schleife) viele hundertausendmal in der Sekunde durch. Wenn du da
gezielt die Taste so loslässt, dass entweder das erste if oder das 2.te
if den Vorzug bekommt, dann ist das ein Wunder!