www.mikrocontroller.net

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


Autor: Berndsen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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!

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> es wird auch nicht hochgezählt.

Woher weißt du das?

Autor: Berndsen (Gast)
Datum:

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

Autor: Kai G. (runtimeterror)
Datum:

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

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Berndsen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, entsprechend der portnummer, von 0-7

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blöde Randfrage für mich als avr-gcc-noob:
struct {
    BYTE bPin:1;     // Bit 0 f�r das Signal am Pin 0.
    BYTE bStatus:1;  // Bit 1 f�r das Speichern des Status der Taste
                     // Die verbleibenden 6 Bits der Variable werden nicht
                     // genutzt.
} 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...

Autor: Berndsen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das bit wird dem bezeichner zugeordnet. er ist 1 bit breit. schade

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.