
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> > > Hallo, ich benutze eine C-Control I 1.2 und diese soll als Bordcomputer für eine von Studenten entwickelte Höhenrakete verwendet werden. Hierfür soll der Prozessor die Temperatur im Tank und den Luftdruck überwachen. Während die Rakete auf der Rampe steht sollen diese beiden Informationen kontinuierlich an einen angeschlossenen PC übertragen werden. Nach dem Start sollen die beiden Werte im internen Speicher abgelegt und nach der Bergung ausgelesen werden. Das Programm habe ich fertig und die Platine existiert auch schon. Leider habe ich das Problem das das Programm zwar sehr gut funktioniert, jedoch nach 31 Messzyklen immer eine 300 und dann 5000 ausgibt und dann seine komplette arbeit einstellt. Woran kann das liegen? Ich benutze ja auf der Rampe den Speicher nicht, weshalb dieser auch nicht voll sein kann. Die Zahl 31 taucht in meiner gesamten Programmierung überhaupt nicht auf. Hilfe! Bitte! > > > > ein Programmlisting könnte unter Umständen hilfreich sein. :-] > > Okay, dann mal hier das Listing. Ich dachte das währe zu lang um es hier rein zu setzen. Im Prinzip richtig. Aber ein "Mein Programm geht nicht." ist eben zu kurz. ;-) Schon mal ein Programm debugged? Wäre vielleicht angebracht. Baue mehr prints ein, um Programmablauf und Variablenwerte zu verfolgen. > define a byte 'Verschiebebyte um die Seriellen Daten hintereinander zu schalten > define i byte 'Zaehlbyte der Uebertragenen Daten des A/D Wandlers > define x word 'Messzyklenzaehler Sprechendere Variablennamen können Aussenstehenden das Lesen erleichtern. > #Luft 'Nach dem Start > if x>301 then goto break x wird nirgends initialisiert, wenn ich das richtig sehe. > #log 'Speichern der Daten im internen Speicher > open# for append > if filefree then print# Counter else gosub filefull > print# Vario1 > print# Vario2 > print# Dvario > close# > Counter = Counter+1 > return > > #filefull > close# > return Wenn NOT filefree gilt, machst Du gosub filefull, das returned und dann machst Du munter mit print# Vario1 etc. weiter. Das ist nicht, was Du willst. Hält das Programm auch an, wenn Du alle externe Beschaltung abklemmst? Vielleicht gibt es einen Verdrahtungsfehler. Bye Achim |
| Antwort schreiben |