Hallo,
ich baue gerade einen Datenlogger, der die Daten auf einen USB-Stick speichert (FAT / txt Datei). Als USB Host benutze ich den Vinculum-Chip der Firma FTDI.

Leider komme ich mit dem PUT-Befehl nicht klar.
Ich möchte die Messungen hochnummerieren mit der Variable "Messung" als Long.

Wer kann mir also den PUT-Befehl im Zusammenhang mit diesem Programm erklären? Ziel ist es mit dem PUT-Befehl die Variable Messung in die log.txt zu schreiben(mit den anderen Werten zusammen)

vielen Dank, Tobias

Code:
'-------------------------------------------------------------------------------
'Konfiguration µC:
$regfile = "m32def.dat"                                     'AT-Mega32
$crystal = 14745600                                         'Quarz: 14,7456 MHz
$baud = 9600                                                'Baudrate definieren

'-------------------------------------------------------------------------------
'Ein- Ausgänge:

Ddra = &B00000000                                           '1 Ausgang, 0 Eingang = Pin PA7-0
Ddrb = &B11111111                                           '1 Ausgang, 0 Eingang = Pin PB7-0
Ddrc = &B11111111                                           '1 Ausgang, 0 Eingang = Pin PC7-0
Ddrd = &B01111111                                           '1 Ausgang, 0 Eingang = Pin PD7-0

Porta = &B00000000                                          '1 = Pullup
Portb = &B00000000                                          '1 = Pullup
Portc = &B11111111                                          '1 = Pullup
Portd = &B00000000                                          '1 = Pullup



'-------------------------------------------------------------------------------
'Analogmessung:
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc                                                   'Starte analog Messung

'-------------------------------------------------------------------------------
'Vor Programmstart:

'Enable Interrupts

Start Adc                                                   'Analogmessung starten

'-------------------------------------------------------------------------------
'USB Confi!!!!

Echo Off                                                    '///für USB-Stick
Open "com1:" For Binary As #1                               '///für USB-Stick

'Dim Samples As Word                                         'Anzahl der Messungen
Dim Delayms As Long                                         'Messintervall in ms (Long bis 2.147.483.647)
Dim Channels As Word                                        'Anzahl der Messkanäle (8Kanäle -> 0-7)
Dim N As Integer
Dim I As Integer
Dim L As Integer
Dim S As String * 20
Dim Ad As Integer
Dim Messung As Long                                         'anzahl der gemessenen Werte


'-------------------------------------------------------------------------------
'-------------------------------------------------------------------------------
'Hauptprogramm Do...Loop
'-------------------------------------------------------------------------------
'-------------------------------------------------------------------------------


'USB-LOOP
Do
  Input S
Loop Until S = "D:\>"                                       'USB Controller abfragen, bis D:\> gesendet wird

Waitms 1000

Print "rd todo.txt" + Chr(13);                              'todo.txt Datei LESEN

Input Delayms                                               'Wartezeit zwischen den Messungen aus Datei übernehmen
Get #1 , L
Input Channels                                              'Anzahl der Messkanäle aus Datei übernehmen
Get #1 , L
Input S

Print "OPW Log.txt" + Chr(13);                              'Datei Log.txt öffnen
Input S


Do
Toggle Portb.0
Incr Messung
  S = ""
  For I = 0 To Channels                                     'Kanäle 0-7 MAX
    Ad = Getadc(i)
    S = S + Str(ad)
    If I < Channels Then S = S + Chr(9)
  Next I
  S = S + Chr(13) + Chr(10)
  L = Len(s)                                                'gibt die Länge von String "S" wieder
  Print "WRF ";                                            'Befehl um in die geöffnete Datei zu schreiben
  Put #1 , 0
  Put #1 , 0
  Put #1 , 0
  Put #1 , L                                                'L ist die Länge vom String S
  Put #1 , 13
  Print S ;
  Input S
  Waitms Delayms                                            'Wartezeit zwischen den Messungen

Loop Until Pind.7 = 0

Print "CLF log.txt" + Chr(13);                              'Datei log.txt schließen
Input S
Portb.0 = 0                                                 'schreib-LED ausschalten
End


'-------------------------------------------------------------------------------
'-------------------------------------------------------------------------------
'ENDE - Hauptprogramm Do...Loop
'-------------------------------------------------------------------------------
'-------------------------------------------------------------------------------

End