www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programm funktioniert im Simulator, aber nicht auf Controlle


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe das im Anhang befindliche Controllerprogramm geschrieben. Im 
Simulator (Keil µVision 3) funktioniert das Programm genau so, wie ich 
es mir vorstelle. Es soll eigentlich 'nur' über die RS232-Schnittstelle 
mit einem Rechner kommunizieren und abhängig von den empfangenen Daten 
bestimmte Ausgänge setzen bzw. rücksetzen oder Daten an den Rechner 
schicken.
Jetzt habe ich das Programm auf meinen Controller (AT89C51ID2) geflasht 
und es funktioniert leider gar nicht...
Wenn ich einen Reset mache bekomme ich - laut Terminalprogramm - erstmal 
eine 0x00 geschickt. Dann schicke ich - auch per Terminalprogramm - eine 
0x00FF rüber. Daraufhin sollte der Controller eigentlich mit einer 
0x000EFF antworten. Das tut er leider nicht, sondern er sendet einfach 
gar nichts.
Da das Programm im Simulator funktioniert nehme ich mal an, dass ich 
etwas in der ProjectInit() falsch mache. Sprich irgendwelche 
Hardwareeinstellungen nicht vornehme, die der Simulator nicht benötigt, 
die reale Hardware aber eben schon.
Zur Sicherheit habe ich mal den gesammten Code eingefügt.

Wäre klasse, wenn sich jemand meinem Problem annehmen würde.

Vielen Dank schonmal im voraus und viele Grüße

Autor: Ampfing (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, 21 Downloads und keine Antwort.
Das kann jetzt heißen, dass das Programm an und für sich funktionieren 
sollte - dann bitte auch das Antworten - oder dass das Programm so lang 
ist und niemand alles gelesen hat.

Bitte schreibt mir wenigstens, ob ihr denkt, dass es grundsätzlich 
richtig ist, oder ob irgendwo ein ziemlicher Denkfehler drin ist - auch 
wenn es dann ja eigentlich auch im Simulator nicht funktionieren sollte, 
oder?

Danke und viele Grüße

Autor: Ale (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habst du ein einfachste programm getestet (LED Blinken) und geht, mit 
dieses Kontroller/Brenner/Compiler/Fuses ?

Mit ein Paar LED im Port0 oder Port1 du kannst einfach debuggen...

Autor: Ampfing (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

noch bin ich dazu leider nicht gekommen, werd ich aber auf jeden Fall 
nachher versuchen.

Viele Grüße

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

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

nochmal ich.
Auch ein ganz einfaches Programm, wo ich nur den Port 0 auf high schalte 
(nach dem Aufruf der ProjectInit()) läuft auf der Hardware leider nicht.
Das heißt doch für mich, dass dort irgendwo der Fehler liegen muss, 
oder?
Der Sicherheit halber ist mal mein Stromlaufplan angehängt. Die am 
Controller offen gezeichneten Pins sind auf der Platine mit 
Steckerleisten verbunden, die der Übersichtlichkeit halber aber auf dem 
Plan weggelassen sind.

Hat jemand noch eine Idee, woran es in der ProjectInit() liegen könnte?

Viele Grüße

Autor: Ale (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Reset braucht eine Widerstand nach VCC und die Sclater muss nach GND 
gehen,  oder ?

Autor: Ampfing (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hm, im Datenblatt steht eigentlich, dass der Reset einen internen 
Pulldown hat. Für den Power-on Reset braucht man nen Kondensator nach 
VCC (den hab ich jetzt mal provisorisch reingelötet, aber hat auch 
keinen Effekt).
Was ist die Sclater? Damit kann ich leider gar nix anfangen.

Viele Grüße

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Reset hängt in der Luft. Diese Leitung sollte mit ca. 5kOhm an V+ 
hängen. Taster S1 muss diese Leitung nach GND schalten. Mit einem 
Kondensator zwischen RESET und GND erhältst du dann eine Auto-Reset 
Funktion beim Einschalten.

Autor: Ale (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sclater == Schalter

entshuldigung

Mach es so wie Jörn gesagt hat.

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.