Hallo zusammen Bin gerade echt am verzweifeln, und hoffe ihr könnt mir weiterhelfen. Ich bin mir nicht sicher ob es sich hierbei um einen Fehler im Picaxe handelt. Ich möchte gerne GPS-Daten auslesen und wenn keine Daten kommen soll der SERIN befehl in den Timeout gehen und nicht die ganze Zeit auf Zeichen warten. Ich verwende folgenden code:
1 | #picaxe 14m2 |
2 | setfreq m16 |
3 | |
4 | |
5 | symbol GPS_Input = C.3 |
6 | |
7 | |
8 | start: |
9 | sertxd ("Start",13,10) |
10 | |
11 | bptr = 35 |
12 | 'Zwei Adressen nach der Variable b27 -> im RAM 70 GPS-Zeichen einlesen |
13 | serin [6000,NoData],GPS_Input,N4800_16,("$GPGGA"),@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc |
14 | |
15 | |
16 | goto DataOK |
17 | NoData: |
18 | sertxd ("No Data!",13,10) |
19 | |
20 | DataOK: |
21 | |
22 | |
23 | goto start |
Nach einem Reset und NICHT angeschlossenem GPS-Empfännger, kommt die Debug Meldung "Start". danach bleibt er beim Serin-Befehl hängen, ohne zur Timeout adresse zu springen. Wenn ich jedoch den GPS-Empfänger anschliesse kommt sekündlich die Meldung "Start", was ja auch OK ist. Wenn ich nun anschliessend den GPS-Empfänger wieder entferne, funktioniert das mit dem Timeout und die Meldung "No Data!" kommt. Jedoch nur ein paar mal, und dann bleibt er wieder beim Serin-Befehl hängen, ohne zur Timeout adresse zu springen! Sehr sehr merkwürdige sache... könnt ihr mir weiterhelfen??? vielen Dank schon im Voraus! Freundliche Grüsse Iguan