INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, Ist das ein CCBasic++ Programm? Oder was? Aber ich denke das Probelm ist generell, daß du deine if then else end if usw. nicht sauber schreibst. Wenn eine einzeilige If-Abfrage mit end if endet interpretiert der Compiler das end als end-Befehl und die C-Control befindet sich dann im Programmiermodus. Siehe hier temp = InKey$ :If temp <> 71 Then return :End If 'G Besser so schreiben oder halt ohne "end if" If temp <> 80 Then return End If 'P If temp <> 71 Then return > > > Hallo, > > > ich habe das problem das mein Controller entweder Komplett aussteigt oder er schreibt über die RS232 volgendes: CBASIC VERSION 2.0 (10.6.04) oder er gibt die eingegangen daten einfach iweder aus! > > > wenn ich ihm folgende daten an die RS232 schicke: > > > > > > $GPRMC,182825.002,A,4817.4422,N,01128.7676,E,000.0,000.0,030706,001.7,E*6A > > > $GPGGA,182826.002,4817.4422,N,01128.7676,E,1,04,02.8,00456.3,M,46.4,M,,*65 > > > $GPGSA,A,3,14,05,,,30,,,09,,,,,05.3,02.8,04.5*05 > > > $GPGSV,2,1,08,14,31,309,33,05,71,273,42,17,10,053,,26,07,165,*7C > > > > > > > > > bin für jede hilfe dankbar! > > > > > > Michi > > > > Das dazugehörende Programm wäre jetzt schon hilfreich..... > > > > mfg > > > bitteschön: > > Dim temp As Byte > Dim logLED As Boolean Port [1,4] > Dim testLED As Boolean Port [1,5] > Dim satLED As Boolean Port [1,6] > Dim akkuLED As Boolean Port [1,7] > Dim battpower As Boolean Port [1,8] > Dim rs232switch As Boolean Port [2,6] > Dim HexA,HexB As Byte > Dim breiteA,breiteB,breiteC,breiteD As Byte > Dim langA,langB,langC,langD As Byte > Dim GPSsignal As Boolean > Dim GPSsat As Byte > Dim loginterval, logcounter As Byte > > '$INCLUDE "boot.xml" > > 'rs232switch=1 > loginterval = 3 > logLED = 0 > testLED = 0 > logLED = 1 > logLED = 0 > waitforhandshake > do > > Call pufferleeren > 'call anz_satinfo > Call pufferleeren > 'If logcounter >= loginterval Then Call logging > 'End If > 'call akkucheck > > loop > > Do > If InStat <> 0 Then > temp = inkey$ > End If > > Loop Until temp =36 '$ > > > afterhandshake > temp = InKey$ :If temp <> 71 Then return :End If 'G > temp = inkey$ :If temp <> 80 Then return :End If 'P > temp = inkey$ :If temp <> 71 Then return :End If 'G > temp = inkey$ :If temp <> 71 Then return :End If 'G > temp = inkey$ :If temp <> 65 Then return :End If 'A > Print "Datensatz Start" > testLED = 1 > Do > Loop Until inkey$ = 44 > Do > Loop Until inkey$ = 44 > HexA = inKey$-48 > HexB = inkey$-48 > breiteA = (HexA*10)+HexB > HexA =inkey$-48 > HexB =inkey$-48 > breiteB = (HexA*10)+HexB > temp = inkey$ ' Empfängt "." > HexA =inkey$-48 > HexB =inkey$-48 > breiteC = (HexA*10)+HexB > HexA =inkey$-48 > HexB =inkey$-48 > breiteD = (HexA*10)+HexB > Do > Loop Until inkey$ = 44 > temp =inkey$ > Do > Loop Until inkey$ = 44 > HexA = inKey$-48 'grad > HexB = inkey$-48 'grad > temp = inkey$-48 'grad > langA = (HexA*100)+(HexB*10)+temp > HexA =inkey$-48 'min > HexB =inkey$-48 'min > langB = (HexA*10)+HexB > temp = inkey$ 'komma > HexA =inkey$-48 'dezmin > HexB =inkey$-48 'dezmin > langC = (HexA*10)+HexB > HexA =inkey$-48 'dezmin > HexB =inkey$-48 'dezmin > langD = (HexA*10)+HexB 'dezmin > Do > Loop Until inkey$ = 44 > Do > Loop Until inkey$ = 44 > If inkey$-48 > 0 Then > GPSsignal = 1 > logcounter = logcounter + 1 > Else GPSsignal = 0 > End If > temp = inkey$ > 'Print GPSsignal > hexA= inkey$-48 > hexB= inkey$-48 > GPSsat=(HexA*10)+HexB > 'print gpssat > Do > temp = inkey$ > Loop Until temp = 13 Or temp = 10 > > testLED = 0 > print "datensatz ende" > Return > 'GoTo waitforhandshake > > > Sub pufferleeren > do > If InStat <> 0 Then > temp = inkey$ > If temp = 36 Then GoSub afterhandshake > End If > Print "FIFO geleert" > End If > > Loop Until InStat = 0 > > End Sub > > Sub anz_satinfo > If GPSsignal = -1 Then > For temp = 1 To GPSsat > satLED = 1 > Pause 1 > satled = 0 > Pause 1 > Next > Pause 5 > End If > end sub > > Sub logging > 'Ansteuerung eines I2C EEPEROM > logcounter=0 > logLED = 1 > Pause 1 > logLED = 0 > End Sub > > Sub akkucheck > If battpower = 0 Then > akkuLED = 1 > Pause 1 > akkuLED = 0 > pause 5 > else > akkuLED = 1 > end if > End Sub > > |
Antwort schreiben |