Hallo,
ich lese mit einem ATMega8 und Bascom ein GPS-Modul von U-Blox aus. Funktioniert auch alles ganz gut. Ich betreibe das Modul mit 4Hz. Leider fällt das Modul aber immer wieder nach ein paar Wochen (wenn die SRam Batterie leer ist) in die Factory Default Werte zurück und die sind leider 1Hz. Damit das nicht passiert und ich das GPS-Modul nicht jedesmal nach längeren Stillstandszeiten mit der U-Blox Software neu konfigurieren muß würde ich es gerne über den ATMega zum beginn des Programms entsprechend konfigurieren........ich habe nur leider keine Ahnung wie das funktioniert. Die diversen USER-Manuals haben mich da auch nicht weiter gebracht. Hat von Euch jemand Erfahrung darin und weis wie das geht?
hoi,
zeichne doch einfach die zeichebnkette auuf, die die u-blox-software sende beim konfigurieren, und sende diese automatisch beim programmstart.
mfg jeffrey
so einfach scheint es wohl doch nicht zu sein. Ich hab das ausgelesen was an die Maus gesendet wird........ viele Y mit Ü-Pünktchen. Wie macht man sowas in Bascom???
Sieht aus, als hättest du die ankommenden Hex-Werte einfach als String ausgegeben.
ÿ = FF = 255
Kommen denn nur diese Zeichen oder auch noch andere?
Gib sie mal als Hex-Werte aus.
Hallo Rolf,
ich muß die Werte leider so nehmen wie sie sind. Ich lese sie mit einem Terminalprogramm aus der Konfigurationssoftware von U-Blox ( nennt sich U-Center) aus. Inzwischen habe ich gelesen das das wohl binäre Kommandos sind. Weitergeholfen hat mir das aber auch noch nicht. Kannst Du mit dieser "binären" Info was anfangen?
anbei die Anleitung zu den Antaris Protokoll Spezifikationen. Datei speichern und .txt in .chm ändern.
Vor einiger Zeit habe ich Versuche mit 2 U-Blox zu DGPS gemacht. Ich habe das Basic-Programm wieder ausgegraben. Danach kann man folgendermaßen mit U-Blox kommunizieren:
Umgesetzt habe ich das mit folgenden BASIC Programm. Daran kann man auch erkennen wie die Checksumme berechnet wird:
Dim buffer(100) As Byte, CK_A As Byte, CK_B As Byte
buffer(1) = &HB5: buffer(2) = &H62: buffer(3) = &H2: buffer(4) = &H31: buffer(5) = &H0: buffer(6) = &H0
CK_A = 0: CK_B = 0
For i = 3 To 6
A = (CK_A + buffer(i)): CK_A = A Mod 256
B = (CK_B + CK_A): CK_B = B Mod 256
Next
B = "": For i = 1 To 6: B = B + Chr(buffer(i)): Next
MSComm1.Output = B + Chr(CK_A) + Chr(CK_B)
Die Einstellung der Übertragungsrate habe ich selbst nicht ausprobiert. Die Anweisung müßte aber folgende sein:
Byte Offset Number Format Scaling Name Unit Purpose / Comment
0 U2 - Meas Rate ms Measurement Rate
2 U2 - Nav Rate cycles Navigation Rate (in number of measurement cycles)
4 U2 - Time Ref - alignment to reference time:0 = UTC time, !0 = GPS time
danke für Deine Tipps, aber das ist für mich alles zu hoch. Buffer, checksummen usw kenne ich alles noch nicht. Ich habe jetzt eiine Beschreibung für mein GPS-Modul. Da steht auf seite 7 genau das was ich brauche. Nur ist das glaube ich alles in C. Kannst Du mir sagen wie ich die entsprechenden Befehle in Bascom abschicken muß?
Lesezeichen