Gast
#2603401
Hallo, ich versuche mit LabView über RS232 meinen Atmega8 (C) auszulesen als Temperaturlogger. Der µC misst die Temperatur (mit DS18S20) und schickt einen Datenstring an LabView zum Darstellen. Leider funktioniert dies mit meiner Lösung eher willkürlich. Diese lautet: LabView liest in einer While-Schleife jede Millisekunde die RS-232 Schnittstelle aus und wartet auf ein Startbyte. Wenn das Startbyte kommt springt LV aus der While Schleife in die nächste Sequenz und liest den Datenstring um ihn zu verarbeiten. Der µC misst die Temperaturen und sendet nach Deendigung der Messung erst das Startbyte und dann die Daten: put_string(ok); put_string(daten); Das Problem: LabView empfängt die Daten nicht im gleichem zeitlichen Abstand. Eine Messung dauert ca. 1,5 Sekunden, also müsste LV alle 1,5 Sekunden Daten bekommen, tuts aber nicht, mal passen die 1,5 Sek. dann sinds wieder 4 usw. Wie kann ich diesen Ablauf synchronisieren? Mir kommt es vor also bo LabView das Startbyte manchmal verpasst und sich der ganze Prozess erst nach einigen Messungen wieder einfängt. Über Hyperterminal geht alles wunderbar nur bei LabView läuft es eher zufällig. Interrupts fallen meiner Meinung nach als Lösung aus, da die Messung der TempSensoren nicht durch Interrupts gestört werden dürfen. Kann mir hier jemand behiflich sein? Ich denke ich bin nicht der erste mit dem Problem, hab aber bisher nichts dazu finden können. Danke sehr! Thomas


