www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USART 7 - Segment Anzeige


Autor: Atze Matze (atzesm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich hoffe ihr könnt mir weiter helfen. Nachdem ich nun seit 3 Wochen 
Recherche nicht selbst weiter komme, bin ich nun leider auf Hilfe 
angewiesen.
Leider haben mir ähnliche Beiträge im Forum nicht weiter geholfen.


Versuchsbeschreibung:

Ich habe mir folgende 4-digit 7 Segmentanzeige gekauft:
http://www.watterott.com/de/7-Segment-LED-Anzeige-...
die ich nun über USART bereiben möchte. Dies hat sich allerdings als 
schwieriger herausstellt, als anfänglich gedacht. Ich benutze einen 
Atmega644 mit einem 20MHz Quarz. Mein Code findet ihr im Anhang.


Problembeschreibung:

Die Übertragung scheint zu funktionieren, da sich bei Befehlen, die ich 
über den USART sende die Anzeige verändern kann. Allerdings reagiert die 
Anzeige nicht wie in der Spezifikation 
(http://www.sparkfun.com/datasheets/Components/LED/...).

Im Code sende ich die Bytes, die auch im Beispiel der Spezifikation 
verwendet wurden: (0x01)(0x02)(0x0A)(0x0B).

Hier springt die Anzeige (siehe angehangene Bilder). Egal wie welche 
Bytes ich sende, es werden nur Nullen angezeigt, jedoch ändern sich die 
angezeigten Stellen, die wiederum nur 0 anzeigen.

Ich hoffe ihr könnt mir helfen :)

Gruß


Mattias

Beitrag #2089567 wurde vom Autor gelöscht.
Autor: Atze Matze (atzesm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir keiner bei diesem Problem helfen? :/

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie schaun die fuse-einstellungen aus?

Autor: Atze Matze (atzesm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die Fuses sind auf "Ext. Crystal Osc. 8.0- MHz; Start-up time: 16K CK + 
65 ms", wie im angehangenen Bild gesetzt.

Gruß


Mattias

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
findest du nicht, dass deine leds um einen faktor 8(!!!) zu langsam 
blinken?

Autor: Atze Matze (atzesm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe mal die delay-Anweisungen und das Test Blink 
herausgenommen und du hast Recht. Die Anzeige ist noch zu langsam, denn 
hier blinkt die jede Stelle ca alle 200 ms auf (sollte doch schneller 
gehen oder?!?) Ich habe aber keine Ahnung warum das so ist.
Hat jemand eine Idee?

Gruß


Mattias

Autor: Helfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> findest du nicht, dass deine leds um einen faktor 8(!!!) zu langsam
> blinken?

Dickeren Zaunpfahl nehm: Häkchen bei CKDIV8 Fuse entfernen!

Autor: Atze Matze (atzesm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So habe jetzt das Häckchen entfernt. Die Anzeige ist jetzt wirklich sehr 
schnell unterwegs, funktioniert allerdings leider immer noch nicht.

Um eine konstante Anzeige zu bekommen habe ich mich entschieden 4mal 
0x0A zu senden. Allerdings azeigt die Anzeige im Betrieb egal welche 
Zeichen ich sende immer an der ersten Stelle 8 an (siehe Bild1). Die 
erste Stelle flackert merklich. Die restlichen Stellen bleiben aus. 
Jedoch ist hier das Auge anscheinend zu langsam, da man die zweite 
Stelle mit einer 0 angezeigt bekommt, wenn man auf Erase Device klickt 
(siehe Bild2).

Sehr eigenartig!

Kann man hier irgend was testen um der Fehlerspur zu folgen?

Gruß


Mattias

Autor: Helfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt die Chemie^H^H^H Kommunikation der Geräte untereinander?

Wie sehen die Fuse-Einstellungen des AVRs (Atmega328P) auf dem Display 
aus? Welchen Taktgeber hat dieser AVR? Wenn interner RC, dann überlegen 
einen genaueren externen Taktgeber anzuschliessen.

Hast du den Sender (AVR) mal an einen PC angehängt (über RS232 
Pegelwandler) und in einem RS232 Terminalprogramm mitgeschnitten, 
was da so kommt? Sendet der Sender gültige Daten?

Hast du den Empfänger (Display) mal an einen PC angehängt (über RS232 
Pegelwandler) und in einem RS232 Terminalprogramm die Daten aus dem 
Datenblatt gesendet? Reagiert das Display?

Autor: Atze Matze (atzesm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaub ich krieg nen Kolla...
3 Wochen lang probier ich alles mögliche aus... nix bringt.
Und jetzt, per Zufall... nehm ich die dumme Zeile:
//   uart_putc(0x76); // reset the display

raus und alles passt...

habe damit anscheinend mehr als nur die Baudrate reseted, sodass noch 
Parameter gefehlt haben...

Habt jedenfalls vielen vielen Dank für euer Engagement!

Gruß


Mattias

Autor: Atze Matze (atzesm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
XD

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.