20.07.2010, 21:14
Hallo,
ich bin jetzt seit knapp einer Woche dabei, die Programmiersprache G zu erlernen und will eine Kommunikation zwischen LabView und einem µC herstellen.
Dank des Forums bin ich recht schnell in das Thema eingestiegen, dennoch steh ich im Moment vor einem Problem(chen)
Als Grundlage habe ich mir das "Basic Serial Write and Read.vi" angeschaut und angepasst. LabView 9.0.1!
µC: Wird an den µC ein bestimmtes Zeichen gesendet, antwortet dieser mit einem Wert aus dem A/D Wandler. (getestet mit Hyperterm -> funktioniert einwandfrei)
Das ganze findet in einer While Schleife statt, d.h. der µC antwortet immer wenn der entsprechende String gesendet wurde.
Einstellungen: Baudrate 38400, Stopbit 1, Parität 0, Datenbits 8!
Diese Einstellungen habe ich auch in meiner VISA Initialisierung übernommen. Ein Write und Read in LabView ist auch möglich (was ja schonmal auf eine korrekte Kommunikation deutet).
Mein Problem ist nur, das die Read-Funktion zufällig den gewünschten Messwert liefert, bspw. erst beim 7ten aufruf oder auch mal garnicht.
Ich denke das ist ein Takt bzw. Zeitproblem zwischen Sendevorgang des µC und Lesevorgang von Labview...Habt ihr eine Idee wie ich dem entgegenwirken kann?
Einfügen von delays? oder kann man den VISA READ Baustein konstant abfragen?!
Vielen Dank schonmal im Vorraus!
ich bin jetzt seit knapp einer Woche dabei, die Programmiersprache G zu erlernen und will eine Kommunikation zwischen LabView und einem µC herstellen.
Dank des Forums bin ich recht schnell in das Thema eingestiegen, dennoch steh ich im Moment vor einem Problem(chen)
Als Grundlage habe ich mir das "Basic Serial Write and Read.vi" angeschaut und angepasst. LabView 9.0.1!
µC: Wird an den µC ein bestimmtes Zeichen gesendet, antwortet dieser mit einem Wert aus dem A/D Wandler. (getestet mit Hyperterm -> funktioniert einwandfrei)
Das ganze findet in einer While Schleife statt, d.h. der µC antwortet immer wenn der entsprechende String gesendet wurde.
Einstellungen: Baudrate 38400, Stopbit 1, Parität 0, Datenbits 8!
Diese Einstellungen habe ich auch in meiner VISA Initialisierung übernommen. Ein Write und Read in LabView ist auch möglich (was ja schonmal auf eine korrekte Kommunikation deutet).
Mein Problem ist nur, das die Read-Funktion zufällig den gewünschten Messwert liefert, bspw. erst beim 7ten aufruf oder auch mal garnicht.
Ich denke das ist ein Takt bzw. Zeitproblem zwischen Sendevorgang des µC und Lesevorgang von Labview...Habt ihr eine Idee wie ich dem entgegenwirken kann?
Einfügen von delays? oder kann man den VISA READ Baustein konstant abfragen?!
Vielen Dank schonmal im Vorraus!