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
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
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...
Hi, noch bin ich dazu leider nicht gekommen, werd ich aber auf jeden Fall nachher versuchen. Viele Grüße
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
Reset braucht eine Widerstand nach VCC und die Sclater muss nach GND gehen, oder ?
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
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.
Sclater == Schalter entshuldigung Mach es so wie Jörn gesagt hat.
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.