mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR 4433 RAM Probleme


Autor: Kai K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Ich habe ein kleines Problem. Ich habe eine kleine Timerschaltung 
bebastelt, in der ein 4433 seinen Dienst verrichten soll. Die Schaltung 
besteht grob aus einem 3fach 7_Segment Display, einem Relais und drei 
Tasten.
Ich hab nun eine kleine Routine Programmiert, die auf das Display im 
Halbsekunden Takt abwechselnd zwei Ausgaben tätigen soll. Hierfür habe 
ich drei register reserviert, die jeweils die Daten der einzelen 
Segmente zugewiesen bekommen. Die Ansteuerung des Display (Multiplex) 
übernimmt eine Interrupt Routine (timer 0 overflow). Nach dem Ablauf 
einer bestimmten Zeit werden die jeweiligen Register die den Inhalt der 
3 Segment enthalten mit neuen Werten belegt.
Und zwar einmal mit zwei konstanten und dem Inhalt eines Registers und 
zum anderen mit dem Inhalt aus drei RAM Speicherzellen.
Nun das Problem: bei der Darstellungsart bei dem die "Segmentregister" 
mit RAM Daten "gefüttert" werden, stellt der 4433 oftmals nur Müll dar. 
Klemmt man ihn von Main-Power ab und wieder an kommmt oftmals die 
richtige Darstellung, dann auch dauerhaft (Programmfehler scheidet 
aus?!?).
Streicht man über die Pins VCC/ XTAL/GND "fängt" er sich oftmals auch. 
(Hab ich durch Zufall gemerkt, als ich den 4433 fest in die Fassung 
drücken wollte).
Ich hatte schon die Vermutung, daß beim Lesen der Speicherzellen ein 
erneuter Interrupt den "Ram-Lese-Befehl" aus dem Takt bringt. Aber 
eigentlich kann dies Zeitmäßig nicht hinkommen und zum anderen steht im 
Datenblatt, daß ein Interrupt erst auf die Ausführung des aktuellen 
Befehls wartet.
Ein defekter Mikrocontroller scheidet eigentlich auch aus, da ich auch 
zwei brandneue Exemplare ausprobiert habe, die die gleichen Symptome 
zeigen.
Kann mir jemand einen Tip geben?
Dannk im voraus,

Gruß Kai

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ein Streicheln was bewirkt, hast Du wohl vergessen den Reset-Pin zu 
beschalten oder Du fragst in der Software floatende Pins ab.

Unbenutzte Pins solltest Du immer als Eingang mit Pull-Up setzen.

Ansonsten liegt der Fehler mit Sicherheit in Deiner Software.


Peter

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.