Also leider muss ich nochmals auf Eure bzw. Deine Hilfe zurückgreifen. Die Lösung, von der ich dachte, es wäre eine, war leider doch keine...
Hat noch jemand eine andere Idee? Ansonsten gilt die selbe Problematik wie in den voherigen Posts beschrieben....
Danke für jeden weiteren Tip!!
Hallo Lydia,
noch'ne Idee:
Hast du beim SerialPort-Config das
TerminationChar ausgeschaltet? Wenn nicht, hängt LabVIEW sonst jedesmal 0x0A (=LF) an deine Bytes als Endekennung mit ran. Dies könnte deinen FPGA verwirren...
Hallo Gerd,
hab ich auch alles schon ausgeschalten...
Daran liegt es also nicht leider...
Ich habe langsam immer mehr das Gefühl, dass es vielleicht an dem einen Startbit liegt, das das UART-Protokoll verlangt, welches ich aber bei der Konfiguration der seriellen SS in LabVIEW nirgends abgeben kann...
' schrieb:Ich habe langsam immer mehr das Gefühl, dass es vielleicht an dem einen Startbit liegt, das das UART-Protokoll verlangt, welches ich aber bei der Konfiguration der seriellen SS in LabVIEW nirgends abgeben kann...
Nein, sicher nicht:
http://forums.ni.com/t5/Instrument-Control...tion/m-p/637405
Lad doch mal dein VI hoch, wer weiß, wo der Fehler vielleicht liegt.
Gruß, Jens
Hallo Jens, hier das hochgeladene VI. Erstellt mit LabVIEW 2009, SP 1 (deutsch) ... ich hoff' ich hab's richtig hochgeladen... ist schon so spät
-_-
Danke auf jeden Fall schon mal für die Hilfe!!!
Mir ist gerade aufgefallen: Wenn man sich das VI "seriellen Port konfigurieren genauer ansieht, dann sind anstatt 2 nur 1,5 Stoppbits aufgeführt. Das ist hier aber nur ein Flüchtigkeitsfehler... Erfolglos getestet habe ich es bereits mit ebenfalls 2en ...
Mist ... und so auch der Fehler mit dem Zahlendreher bei der Baudrate.... ich musste eines meiner älteren Versionen des VIs verwenden... deswegen die Fehler
' schrieb:doch mit dem Logic-Analyser kann man erkennen, dass ein beliebiges Bitmuster übertragen wurde, nur nicht das eigentlich gewünschte Kommandowort angekommen ist. So übergebe ich z.B. dem VISA-Write-VI als Datenstring ein Byte ("00000000") und der Logic-Analyser zeigt an, der FPGA würde 9 Byte empfangen, bestehend aus beliebig zusammengestellten Nullen und Einsen.
Genau das hast du programmiert.
Du schreibst hier, du willst ein (1) Byte übertragen: Ein Byte besteht aus acht Bit. Diese acht Bit sollen angeblich deine Flags sein.
Übertragen tust du aber tatsächlich 9 Byte: Ein String, bestehend in Summe aus 8 '0'en und '1'en, abgeschlossen durch ein Abschußzeichen. Dieser String wird durch die For-Schleife erzeugt.
Wie willst du es denn jetzt haben: 9 Byte oder 1 Byte?
Korrekte Baudrate einstellen wäre auch nicht schlecht!
[
attachment=27807]
Du wolltest doch 115200 haben?!
Gruß, Jens
An Jens: Ja, das mit der Baudrate hab ich ja bereits schon beschrieben, das war ein einfacher Zahlendreher. Aber getestet habe ich es mit der richtigen
An IchSelbst: Ich möchte genau 1 Byte, gestehend aus acht 0-Bit Werten an den FPGA kommandieren.... kannst Du mir viell. bitte ein kleines VI erstellen, das genau dies macht? Kann wirklich nur grob sein...
Noch mal an IchSelbst: die For-Schleife kannst Du getrost ausser acht lassen - das hätte ich an der Stelle viell. noch mal besser beschreiben müssen - dabei handelt es sich lediglich um einen Kommandotest, der, jenachdem, welches Kommando an den FPGA gesendet wird entscheidet, ob ein CRC-Wert berechnet werden soll. In diesem Fall, wenn "00000000" kommandiert wird, wird die For-Schleife jedoch NICHT angesteuert sozusagen. Das Kommando (00000000) wird so in dieser Form geschrieben mit dem VISA-Write...
Hallo Lydia,
was immer du in deinem VI erreichen wolltest, du hast es zu kompliziert gemacht.
Du brauchst keine Sequenzen und lokalen Variablen in LabVIEW! (Ok, ganz ganz selten...)
Ich hab dir mal mit reinprogrammiert, wie man 1 Byte an's Kommando anhängt... Nämlich so:
[
attachment=27815]
Nochmal zum Verständnis: das Zeichen "0" (als String in LabVIEW) repräsentiert 1 Byte = 8 bits. Wenn du 8 solcher Zeichen verschickst, dann sind das 8 Byte!
Hallo Gerd,
vielen Dank für den Input. Mit deinem Vorschlag (Snippet) und dem geänderten VI (gut, wenn das VI zu komplizerit ist, dann nehme ich jeden Rat an, den ich bekommen kann... da sieht man doch, dass ich einfach nur ein Quereinsteiger mit "ab und an" Tätigkeiten in LabVIEW bin
) sieht das Ergebnis ganz gut aus... jetzt muss ich insgesamt noch am Aufbau der ganzen Applikation und der Kommandierung arbeiten, da ich mehrere der UART_...Write-VIs in meine Applikation lade die sich anscheinend gegenseitig hineinfunken... was auch der Grund dafür sein soll, weswegen der Logic Analyser immer etwas anderes ausspuckt... also, das ist auf jeden Fall die Annahme meines Kollegens
Dir und auch allen anderen an dieser Stelle nochmals vielen Dank für alle Tipps, Ratschläge und Beispiele!!!!!
Liebe Grüße, Lydia