-
-
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]
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen