Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Ungewolltes Anhalten der C-Control Kategorie: C-Control I V1.2/2.0 (von Olaf - 5.07.2007 13:48)
 Als Antwort auf Re: Ungewolltes Anhalten der C-Control von Achim - 5.07.2007 3:23
Olaf nutzt:  CC1-M-Unit V1.2/2.0
> > > > 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

Hallo, ich habe die vorgeschlagenen Änderungen durchgeführt und sie haben auch einen Fehler behoben den ich hier noch nicht reingepostet hatte. Vielen Dank das ihr euch damit beschäftigt habt. Die unverständlichen Variablen bitte ich zu entschuldigen aber dies ist mein erstes Programm für C-Control und als Maschinenbauer entdecke ich gerade erst meine liebe zum programmieren ;-)
Der hauptfehler wurde jedoch durch diese Änderungen nicht beseitigt, dieser lang nämlich beim Subprogramm #Boden. Dort habe ich nämlich geschrieben Temp=0, da Temp jedoch ein A/D Eingang ist, kam das Programm nicht damit zurecht das ich ihm vorzuschreiben versuche das der Eingang (an dem ja ein Signal anliegt) kein Signal hat.
Vielen Dank an alle die sich damit beschäftigt haben, vor allem an Achim. Mit deinen Tips habe ich Fehler behoben von denen ich gar nicht wusste das sie da waren.
Nochmal Danke!

 Antwort schreiben

Bisherige Antworten:

Re: Ungewolltes Anhalten der C-Control (von Achim - 6.07.2007 3:39)