Forum: Mikrocontroller und Digitale Elektronik Frage Zum Entprell-Programm Aus AVR-GCC TUTORIAL


von Berndsen (Gast)


Angehängte Dateien:

Lesenswert?

Servus an alle, hab das Programm aus dem avr-gcc tutorial 
"Tastenentprellen" auf meinen atmega8515 geladen und die leds und den 
schalter richtig verbunden. wenn ich die taste drücke, leuchtet nur 
solange die taste gedrückt ist led0 und beim loslassen geht sie aus. es 
wird auch nicht hochgezählt. bin irgendwie  ratlos.



hilfe!

von Uhu U. (uhu)


Lesenswert?

> es wird auch nicht hochgezählt.

Woher weißt du das?

von Berndsen (Gast)


Lesenswert?

weil die leds nicht nach dem entsprechenden zählerstand leuchten...

von Kai G. (runtimeterror)


Lesenswert?

Sind die Zähl-LEDs auch an PortB angeschlossen?
Ich kenne die Schaltung nicht.

von Kai G. (runtimeterror)


Lesenswert?

Ist das Verhalten ständig reproduzierbar, oder passiert auch manchmal 
was anderes? Gerne auch mal beim Drücken was am Schalter wackeln um zu 
sehen ob sich was ändert.

von Berndsen (Gast)


Lesenswert?

ja, entsprechend der portnummer, von 0-7

von Kai G. (runtimeterror)


Lesenswert?

Blöde Randfrage für mich als avr-gcc-noob:
1
struct {
2
    BYTE bPin:1;     // Bit 0 f�r das Signal am Pin 0.
3
    BYTE bStatus:1;  // Bit 1 f�r das Speichern des Status der Taste
4
                     // Die verbleibenden 6 Bits der Variable werden nicht
5
                     // genutzt.
6
} bPortD;

Die '1' hinter dem Doppelpunkt gibt an, wie viele Bits dem 
linksstehenden Bezeichner zugeordnet werden? Oder handelt es sich immer 
um ein einzelnes Bit und die Zahl gibt das Offset an - dann wäre in der 
ersten Zeile ':0' einzutragen.

Dein Problem kriege ich mir anhand des Quelltextes im Moment nicht 
erklärt...

von Berndsen (Gast)


Lesenswert?

das bit wird dem bezeichner zugeordnet. er ist 1 bit breit. schade

von Karl H. (kbuchegg)


Lesenswert?

Habe das gepostete Programm so wie es ist in einen Mega16
gebrannt. An PortB 8 Leds. An PortD einen Taster nach Masse
an PD0.

Funktioniert zwar nicht berauschend gut aber das Hochzählen
ist eindeutig feststellbar.

von Kai G. (runtimeterror)


Lesenswert?

Danke für's Testen kbuchegg

Ich denke, wir sind uns einig, dass der Quelltext das Zurücksetzen auf 0 
eigentlich nicht zulässt.

Fällt mir als Ursache nur noch sporadische Resets durch einbrechende 
Versorgungsspannung (Ist der Pull-Up groß genug?) oder falsch 
konfiguriertes Quarz ein.

Alles nicht wirklich wahrscheinlich, aber was Besseres fällt mir nicht 
mehr ein.

N8 und so...

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.