Lade Dir mal H-Term herunter, das Terminal Programm kann alles anzeigen, benutze ich nur noch vor allem wenn ich nicht genau weiß was da so kommt. :-)Zitat:
Zitat von mirco99
Gruß Richard
Druckbare Version
Lade Dir mal H-Term herunter, das Terminal Programm kann alles anzeigen, benutze ich nur noch vor allem wenn ich nicht genau weiß was da so kommt. :-)Zitat:
Zitat von mirco99
Gruß Richard
Hi Richard,
Ich habe ein gutes Terminalprogramm, wo ich mir die Daten in Dezimal anzeigen Lasse.
Das gesendete Paket besteht aus folgendem:
s,n,p,PT,N,D1,D2a,D2b,D3a,D3b,D4a,D4b,checksuma,ch ecksumb
......I...I..I...I.....I.............I............ .I............ I 2 checksum Bytes
......I...I..I...I.....I.............I............ .I GyroZ als 2 Byte komplementär Integer
......I...I..I...I.....I.............I roll als 2 Byte komplementär Integer
......I...I..I...I.....I Pitch als 2 Byte komplementär Integer
......I...I..I...I ein byte mit Infomationen, welche Kanäle gesendet werden(gleich)
......I...I..I Anzahl Daten Bytes
......I...I Paketart( Send Data)
......I snp SNP Datensatzanfang
Es wird auch immer in gleicher länge gesendet.
Mein Problem, denke ich könnten falsch zusammengesetzte Integer sein.
Die Bytes müssen ja folgendes ergeben.
höchstwertige Bit
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = = 127 127
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 = = 126 126
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 = = 2 2
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 = = 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = = 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = = −1 -1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 = = −2 -2
1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 = = −127 -127
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = = −128 -128
8-bit two's-complement integers 8-Bit-Zweierkomplement-Zahlen Contents
Mit dem Befehl:
dim Nick as integer at Empfang+7 overlay
gebe ich an ab 7. Stelle bis zur 8. den wert in ein Integer zu schreiben.
Kann ich die Byte Reihenfolge ändern?
Ich werde mich heute Abend nochmals an das Problem begeben.
In Bascom gibt es dafür den SWAP Befehl, den gibt es auch in den meisten Asembler und in C soltte er auch vorhanden sein.Zitat:
Zitat von mirco99
Gruß Richard
Der Swap Befehl funkrioniert nur mit 2 Variablen.
Dann müsste ich wieder 2 Bytes auslesen und diese in ein integr bringen.
Beim Auslesen des Byte overlays gleich in ein Integer wäre besser.
Ist ja auch sinnvoll. wenn Dein Artty lobyte,hbyte,lobyte,hbyte....Zitat:
Zitat von mirco99
enthält und Du das ganze Arry Swappen würdest/könntest dann ist die komplette Reihenvolge "falsch herum".
MitUnd danach als word overlay auslesen sollte es gehen? Kann das zur Zeit nicht testen, linux und Bascom mögen sich nicht so.....Zitat:
Arry =a
swap a(1),a(2)
swap a(3), a(4)
Gruß Richard
Hi Richard,
supi klappt so.
Jetzt geht alles.
\:D/ \:D/\:D/\:D/\:D/\:D/\:D/\:D/\:D/\:D/\:D/\:D/
code folgt in Kürze.
kann auch sein, dass ich mich beim Übersetzen der mid-Befehle um ne Steller vertan hab, schonmal probiert die overlays eine Stelle nach rechts oder links zu schieben?
also die overlay +x um 1 zu erhöhen oder erniedrigen?
hi Vitis,
ja es muss um eine Stelle nach vorn (links) verschoben werden.
DerString geht von 1 bis x
Das Byte von 0 bis x
Ich habe immer wieder den Datensatz am PC mit dem Wert im Display verglichen. Dann kam ja noch das erste Datenbyte dazwischen, das nur die Aktiven Kanäle beinhaltet. Das war im Datenblatt sehr schwer zu erkennen.
Deshalb bekam ich nur Müll angezeigt.
Danach bekam ich in eine Kipprichtung die Werte anscheinend richtig und in der anderen Richtung kurz unter 0 gleich 32000 angezeigt.
Das swappen der Bytes war die Lösung.
Habe gleich die neue Jeti Fernsteuerung mit Telemetriesensor bestellt. Jetzt geht es mit Summensignal auswerten weiter. Der Empfänger kann mir dann auch Daten wie Akkuspannung, aktuelle Stromstärke und entnommene mAh zur Fernsteuerung auf ein Display zurücksenden.
Guten morgen,
micro99, du wolltest doch deinen Code hier veröffentlichen.
Ich möcht mir den Code einmal anschauen, da ich an einer Kamerasteuerung mit diesem Modul arbeite. Wäre nett von dir.
Peter
Hallo,
jetzt schlage ich mich mit diesem Sensor rum und habe meine Probleme damit. Der Datensatzanfang soll ja mit snp, in dez. 115 110 112, beginnen. Diesen Datensatzanfang gibt es aber nicht bei mir. Bei mir erscheint immer 115 110 187. Die 187 ist falsch.
Anhang 18997
Kennt jemand von euch dieses Problem bzw. kann mir jemand einen Tip geben, was hier falsch läuft?
Schönen Abend noch
Peter