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!
> es wird auch nicht hochgezählt.
Woher weißt du das?
weil die leds nicht nach dem entsprechenden zählerstand leuchten...
Sind die Zähl-LEDs auch an PortB angeschlossen? Ich kenne die Schaltung nicht.
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.
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...
das bit wird dem bezeichner zugeordnet. er ist 1 bit breit. schade
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.