Hallo kolisson,
...dann auf die nächsten c'ts warten. CM geht dann näher auf die LabView-Programmierung ein.als beispiel möchte ich z.b. den adc 0 eines atmel über labview auslesen
Der Code für einen AVR? Der Parserteil von meinem c't-Beitrag ist das:
Hier wird abgefragt, ob das erste Zeichen ein "#" ist und das 4. ein "%".Code:Sub Checkserinp If Asc(serinpstr) = 35 Then 'wenn der String mit # losgeht kanns für uns sein Checkbuff = Mid(serinpstr , 4 , 1) 'Variable zweckentfremdet um Speicher zu sparen Speicher = Asc(checkbuff) If Speicher = 37 Then 'wenn an 4. Stelle ein % kommt ists für uns Checkbuff = Mid(serinpstr , 2 , 2) Speicher = Val(checkbuff) Select Case Speicher Case 1 To 9: Speicher = Speicher * 30 Speicher = Speicher - 29 Checkbuff = Mid(serinpstr , 5 , 32) Writeeeprom Checkbuff , Speicher Serinpstr = "#Speicher " + Str(speicher) + " Wert " + Checkbuff + " geschrieben" Call Writeserinp Case 99: ' Tastenkonfiguration wird aufgerufen Call Fblearn Case 98: Checkbuff = Mid(serinpstr , 5 , 5) Speicher = Val(checkbuff) If Speicher > 65000 Then Speicher = 65000 Writeeeprom Speicher , 8173 Serinpstr = "# Geschwindigkeit gespeichert" Call Writeserinp Case 97: Timerlearn = 1 Timerstring = Mid(serinpstr , 5 , 9) Serinpstr = "# Abfolge: " + Timerstring + " gespeichert" Call Writeserinp Case Else Serinpstr = "# Speichererror FB-Modul" Call Writeserinp End Select Else Call Writeserinp 'kein % dann schick den String weiter End If Else Call Writeserinp 'kein # dann schick den String weiter End If End Sub
Das sind willkürliche Festlegungen, das kann man auch anders machen.
Das 2. und 3. Zeichen legt den Befehl fest der vom Labview kommt.
diese 2 Zeichen werden in eine Zahl gewandelt und mit Case Select abgefragt.
Hier könnte die Abfrage eines Pins des ATMegas stehen, um sie mit "Print" auf die Reise zu schicken.
Gruß Günter







Zitieren

Lesezeichen