
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo Dietmar, das mit dem Pin 1 und der Verbindung zur Masse mess ich nochmal nach, Das mit dem RunOnErr=ON habe ich aus einem alten Prog. unüberlegt übernommen und schon abgeändert. Die pullupa = 0 wähle ich weil ich nahe zu aller außen beschalte auch Pin 3 über 10K auf +5Volt. und die pullupa - wer jetzt welche ist, krieg ich nicht auf die Reihe um sie einzel auf high zusetzen. Für die Einstellungen nutzte ich die Print Funktion und danach bleibt der Pin 1 eigentlich offen. Die Printausgabe funtzt bei mir auch nur wenn ich den Prog.-adapter abziehen stopts und bleibt da hängen wo das Programm gerade ist. Danke für die Hilfe - als ersten werde ich Pin 1 kontrollieren, vieleicht ein Lötzinnziepfel auf der Platine. Gruß Georg > Hallo Georg. > > > Bei mir startet die Micro nicht wenn der print Befehl im Programm vorkommt. Erst wenn ich den Prog.-Adapter anstecke läuft sie los. > > Mit dem PRINT sollte das nichts zu tun haben, sondern mit der Verschaltung des an PORT[3] liegenden HOSTMODE-Pins. Bei mir läuft das Programm und gibt (ohne Hardware) folgendes auf der seriellen Schnittstelle aus: > > TankSoll 116 Stellungsmelder 255 > TankSoll 115 Stellungsmelder 255 > TankSoll 105 Stellungsmelder 255 > TankSoll 32 Stellungsmelder 255 > TankSoll 118 Stellungsmelder 255 > TankSoll 255 Stellungsmelder 255 > TankSoll 255 Stellungsmelder 255 > TankSoll 101 Stellungsmelder 255 > TankSoll 255 Stellungsmelder 255 > TankSoll 101 Stellungsmelder 255 > TankSoll 255 Stellungsmelder 255 > > Sollte das PRINT wirklich die Programmausführung verhindern, dann könnte es - je nach externer Verschaltung - beispielsweise an einem Kurzschluß an PORT[1] liegen. Das PRINT zieht diesen Port zeitweise auf GND, bzw. Masse, wodurch eventuell die Betriebsspannung zusammenbricht und der Kontroller deshalb einen LVI-Reset ausführt. > > Aber im Programm sind mir zwei Sachen aufgefallen: > > Erstens benutzt Du "RunOnErr=ON" falsch. Siehe Anleitung: > > Diese Funktion ist dazu vorgesehen, um an den Beginn des Programms eine Fehlerbehandlungsroutine zu stellen und die Programmausführung bei Eintritt eines Fehlers zu beenden. Das Auftreten eines Fehlers ist ein Hinweis, daß irgendetwas im Programm nicht korrekt abläuft. Das Programm sollte deshalb nicht einfach nochmals durchlaufen werden. Zumal der RAM-Speicher und somit auch das User-RAM mit den Variablen nicht reinitalisiert wurden. > > Zweitens werden mittels "pullupa = 0" alle Pullup-Widerstände ausgeschaltet. Das sollte man nur machen, wenn alle Pins des Kontrollers extern auf definiertem Potential liegen. > > Grüße > Dietmar |
| Antwort schreiben |