Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Ich möchte meine Messkarte diesmal direkt über command shell mit daten füttern.
Eigentlich hatte ich vor ihr 5 datenpunkten ein dreieck signal erzeugen assen.
Diesmal harpert es daran die bytedarstellung in little endian.
Wie errechne ich mit little endian? hat wer vielleicht einfach mal fünf punkte für mich?
Gruß
Gruß
Bart
LV 2009
Anzeige
22.10.2009, 15:04 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2009 18:11 von jg.)
' schrieb:hat wer vielleicht einfach mal fünf punkte für mich?
Gerne doch . - Eins, . - Zwei, . - Drei, . - Vier, . - Fünf
Bitteschön, 5 Punkte, ansonsten,, Messkarte (wie, was, wo), wieso über command shell, woher kommen die little endian Formate für deine Daten, Fragen über Fragen,
Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
little endian geht doch von FFFF bis 0000
das sollte den zahlen zwischen 0 und 4095 entsprechen.
Ich will im Moment nur rausfinden, ob meine Agilent u2531a zwei mal arbitrary waveform ausgeben kann.
Deshalb will ich jetzt die Befehle direkt über die agilent tools von Hand eingeben.
Und die Spannungshöhe muss ich in little endian übergeben also hexadezimal, oder so.
' schrieb:little endian geht doch von FFFF bis 0000
So kann man das nicht sehen. Guckst du auch WikiPedia
"Endian" gibt lediglich die Reihenfolge der Bytes an. Wie viel es sind, geht aus einer Angabe wie "little endian" nicht hervor. Reihenfolge bedeutet z.B., was zuerst im Speicher liegt (also an der niederwertigen Adresse) oder was zuerst über eine Schnittstelle übertragen wird.
Wenn eine Zahl z.B. 0x1234 heißt und diese Zahl liegt als little endian in einem String, dann sieht es im String wie folgt aus "34 12" - also das niederwertige Byte der U16-Zahl zuerst.
Zitat:Und die Spannungshöhe muss ich in little endian übergeben also hexadezimal, oder so.
"Little endian" und "hexadezimal" sind zwei paar Stiefel.
Zahl 0x1234. Little Endian als ASCII-Hex "34 12", als ASCII-Dez "52 18" und als Bytestream <0x34 0x12>
Viel interessanter ist, wie die Werte an das Endgerät sollen: Binär oder Ascii?
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Danke für das mit der Darstellung in little endian, das habe ich schonmal verstanden.
Wie die Daten übermittelt werden ist auch eine gute Frage. Die Befehle gehen eigentlich immer als ASCII string rüber.
Nur stellt sich mir die Frage, ob ich sie auch nicht direkt rüberschicken kann.
Das wäre auszuprobieren, wenn ich mich in Umrechnungen eingefuchst habe.
' schrieb:Die Befehle gehen eigentlich immer als ASCII string rüber. Nur stellt sich mir die Frage, ob ich sie auch nicht direkt rüberschicken kann.
Ich würde mal sagen, da geht nur ASCII.
Willst du "auch nicht direkt" haben, dann wäre das eine "indirekte Übertragung". Sowas gibt es aber nicht.
Oder willst du haben "nicht auch direkt", dann ist das eine retorische Frage und bedeutet, dass die Daten anstelle in ASCII auch als binär übertragen werden könnten.
Fazit: der Little-Endian-String für die Zahl 0x1234 heißt "3412" (für ASCII ist das zwar ungewöhnlich, aber wenn die das so haben wollen).
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).