Hi Leute,
hab mal wieder was zusammengeschustert und wollte euch mal fragen ob man das so gut gehn lassen kann oder ob ich da was verbessern kann.
Es soll so eine Art Telegramm für die RS232 werden, ich möchte es dazu verwenden, um Daten von meinem Rechner zum Bot zuschicken und umgekehrt. ich hoffe ich habs gut genug beschrieben
Hier mal der Code
Code:' 'Befehle über RS232 / RS485 'Erstellt 10.04.2008 By Kalle ' 'Befehlszusammensetzung: ' se06255xxx ' ^ ^ ^ ^ ' | | | | ' | | | Checksumme ' | | Aktion z.B bei Servos Position (hier 255) ' | Bei mehreren Geräten gleichen Typs z.B se06... für Servo 6 ' Belehlstyp z.B. se für Servo $regfile = "m32def.dat" $crystal = 16000000 Declare Sub Notaus() Enable Interrupts '*** Variablendeklaration *** Dim Befehl As String * 10 Dim Befehllaenge As Byte Dim Typ As String * 2 Dim Nummer As String * 2 Dim Aktion As String * 3 Dim Fehler As String * 10 Dim Checksumme As String * 3 Dim Nummerbyte As Byte Dim Kanal(16) As Byte Dim Aktionbyte(4) As Byte Dim Fehlerlaenge As Byte Dim Adrbyte As Byte Dim Varcrc As Byte Dim Checkbyte As Byte '*** Hauptprogramm *** Do Input Befehl Varcrc = Crc8(befehl , 7) 'Checksumme berechnen Checksumme = Right(befehl , 3) 'Checksumme aus Zeichenkette auslesen Checkbyte = Val(checksumme) If Varcrc = Checkbyte Then 'Wenn Checksummen gleich ... Befehllaenge = Len(befehl) If Befehllaenge > 0 Then Gosub Befehlserkennung '... Zeichenkette auswerten End If Else Fehler = "ERRChec" Call Notaus() End If Fehlerlaenge = Len(fehler) If Fehlerlaenge > 0 Then Print Fehler Fehler = "" End If Loop '*** Unterprogramme *** Sub Notaus() 'Befehle für NotAus hier einfügen End Sub '*** Zeichenkette asuwerten *** Befehlserkennung: Typ = Left(befehl , 2) 'sucht 1. und 2. Zeichen von links (Typ) Nummer = Mid(befehl , 3 , 2) 'sucht 3. und 4. Zeichen von links (Nummer) Aktion = Mid(befehl , 5 , 3) 'sucht 5., 6. und 7. Zeichen Zeichen (Aktion) If Befehllaenge <> 10 Then Fehler = "ERRLang" Return '*** Aktion Ausführen *** Ausfuehrung: Return
Freue mich schon auf Kritik
Gruß Kalle







 
			
			 
					
					
					
						 Zitieren
Zitieren 
 
Lesezeichen