Forum: Compiler & IDEs Probleme mit AVR Studio


von Reinhard (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

folgendes Problem beim Simulieren in AVR Studio. Ob Taster 2 gedrückt
ist oder nicht wird gar nicht abgefragt, weil das Programm in AVR
Studio nicht bis zu dieser
Stelle
+0000004D:   999C        SBIC    0x13,4           Skip if bit in I/O
register cleared
kommt.
Wenn man sich den Quellcode ansieht wird dieses Bit jedoch abgefragt.
Wenn ich das prog an meinem µC simuliere läuft auch alles so wie es
sein soll.

Normalerweise sollte doch auch der Status der Bits an PIND
nach jedem Hochzählen der Variablen led wechseln, die Bits
sind aber immer alle ( schwarz ) gesetzt.


Top Forum.


Gruß
Reinhard

von Dieter B (Gast)


Lesenswert?

Hallo Reinhard

Taster 2 wird nur in Ablauf 1 abgefragt.

Also so wie ich das Prg. jetzt mal überflogen habe, passiert beim Start
doch erstmal gar nichts. Wenn du Taster 1 drückst, hast du einen
aufwärtszähler auf PortD. Wenn du jetzt Taster 2 drückst kommst du in
Ablauf2, mit Zähler ab 8 aufwärts.

So, jetzt kommst du aus Ablauf 2 aber nicht mehr raus, weil du keine
Taste mehr abfragst.

outp solltest du nicht mehr verwenden. Nimm einfach

PORTD = 0xFF; oder
PORTD = ~LED;

MFG
Dieter

von Reinhard (Gast)


Lesenswert?

Hallo,

aus Ablauf 2 komme ich nur heraus wenn ich einen Reset mache.
Das eigentliche Problem besteht jedoch darin, dass das Programm beim
Simulieren in AVR Studio nachdem Taster 1 ( PINC 5 ) gesetzt wird das
Programm nicht bis zu der zweiten Abfrage  Taster 2 ( PINC 4 ) kommt.

Kurz und schmerzlos PINC 4 wir nicht abgefragt.
Wenn ich es mit meinem Atmel 4433 simuliere läuft alles so wie es sein
soll.

Gruß
Reinhard

von Dieter B (Gast)


Lesenswert?

Hallo

Habe das Programm im AVR Studio simuliert.

Läuft ohne Probleme. PINC 4 wird sauber abgefragt.

Bedenke, das durch deine Zeitverzögerung mit den IF Abfragen,
du ca 1757461 Zyklen ( Takte) brauchst, bis die Abfrage kommt.

Setze mit F9 eine Breakpoint auf "if (bit_is_clear (PINC,4)) " und
lass das Programm dann mit F5 laufen. Dauert so schon einige Sekunden,
bis du zum Breakpoint kommst.

MFG
Dieter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.