Hallo zusammen,

hier mal ein Teil des Quellcodes:

Zunächst die Einstellungen:

$lib "mcsbyteint.lbx"
$regfile = "m8def.dat" ' AZ Mega 8
$crystal = 6000000 ' Quarzfrequenz
$baud = 19200 ' Baudrate RS232
$hwstack = 40 ' hardware stack
$swstack = 20 ' SW stack ausreichen ?



Hier die Deklaration:

Dim Dutycycle As Byte ' Tastverhältnis Motorstrom
Dim Step_delay As Byte
Dim Step_size As Byte
Dim Zeichen As String * 9
Dim Zeichen_byte(10) As Byte At Zeichen Overlay

Und hier der Code der Prozedur

Wenn im String Zeichen die Bytes 3 -5 das Ascii Zeichen 0 haben dann werden nur die Einstellungen zurückgegeben. Ansonsten werden die Parameter aus den jeweiligen Bytes extrahiert, in die Variablen übergeben und danach ins EEPROM geschrieben. ( Hard_xxxx)
Zeichen


Sub Set_config()



If Zeichen_byte(3) <> 48 Or Zeichen_byte(4) <> 48 Or Zeichen_byte(5) <> 48 Then

Dummybyte = Zeichen_byte(3) ' DutyCycle
If Dummybyte > 100 Then Dummybyte = 100 ' Begrenzung


If Dummybyte <> Dutycycle Then ' Neuer Wert

Dutycycle = Dummybyte
Hard_dutycycle = Dutycycle
End If



If Dummybyte < 50 Then ' Wenn Dutycyle <50% -> Strom abschalten
297_enable = 0
Status297_enable = 0 ' Enable =0 -> Strom abgeschaltet
'Zeichen_byte(6) = 1
Else
297_enable = 1
Status297_enable = 1
'Zeichen_byte(6) = 253
End If


If Step_delay <> Zeichen_byte(4) Then 'nur wenn geändert ins EEPROM schreiben

Step_delay = Zeichen_byte(4)
Hard_step_delay = Step_delay
End If



If Step_size <> Zeichen_byte(5) Then

Step_size = Zeichen_byte(5)
Hard_step_size = Step_size
End If


End If 'Number <> 0

#if Testmodus = 1

Zeichen = ""

#endif


For I = 1 To 8 'Ausgabestring mit "0" füllen
Zeichen = Zeichen + "0"
Next I



Zeichen_byte(1) = "F" ' Ausgabestring vprbereiten
Zeichen_byte(2) = "C"
Zeichen_byte(3) = Dutycycle ' Diese Werte sind dann &H00
Zeichen_byte(4) = Step_delay
Zeichen_byte(5) = Step_size


Dummybyte = 0
For I = 1 To 8 ' Erzeugung Checksumme
Dummybyte = Dummybyte + Zeichen_byte(i)
Next I
Zeichen_byte(9) = Dummybyte
Zeichen_byte(10) = 0

Printbin Zeichen
Return



beste Grüsse
Christian





[/code]