Hallo Zusammen,

so der Servo läuft jetzt, hier der Code.
Bestimmt nicht der stein der weisen, aber der Servo dreht damit,
für den Anfang geht´s aber. Die Baudrate sollte auch noch mit 57600
laufen.

Code:
$regfile = "m644pdef.dat"                                   'ATMEGA16
$crystal = 16000000                                         'Quarz: 16MHz

$baud = 57142

$baud1 = 9600


Dim S As Byte
Dim I As Long
Dim Zeichen_com1 As Byte
Dim Empf_com1 As Byte
Dim Empf_com2 As Byte
Dim Empf_string As String * 10
Dim Ausgabe_com1 As String * 10
Dim Ausgabe_com2 As String * 10

Dim Zeichen As Byte

Dim Durchlauf As Byte

Dim Status As Byte

Ddrd = &B11110000                                           'Pin PD7,6,5,4 als Ausgang konfigurieren





Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0

Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0



Open "COM2:" For Binary As #1



Enable Interrupts                                           'Interrupts global

Enable Urxc
Enable Urxc1


On Urxc Empfangen_com1                                      ' isr rxd ( com0 )
On Urxc1 Empfangen_com2                                     ' isr rxd ( com1 )


Ausgabe_com1 = ""



Do

Incr I

If I = 250000 Then

Ucsr0a.txc0 = 1

Portd.7 = 1                                                 ' 485 Modul auf schreiben setzen
Wait 2


If Durchlauf = 1 Then
   S = &HFF
   Print Chr(s);
   S = &HFF
   Print Chr(s);
   S = &H01
   Print Chr(s);
   S = &H07
   Print Chr(s);
   S = &H03
   Print Chr(s);
   S = &H1E
   Print Chr(s);
   S = &H00
   Print Chr(s);
   S = &H02
   Print Chr(s);
   S = &H00
   Print Chr(s);
   S = &H01
   Print Chr(s);
   S = &HD3
   Print Chr(s);
   Durchlauf = 0
   Else
   S = &HFF
   Print Chr(s);
   S = &HFF
   Print Chr(s);
   S = &H01
   Print Chr(s);
   S = &H07
   Print Chr(s);
   S = &H03
   Print Chr(s);
   S = &H1E
   Print Chr(s);
   S = &H00
   Print Chr(s);
   S = &H00
   Print Chr(s);
   S = &H00
   Print Chr(s);
   S = &H01
   Print Chr(s);
   S = &HD5
   Print Chr(s);
   Durchlauf = 1
End If



   Sendbuffer:
   If Ucsr0a.txc0 = 0 Then Goto Sendbuffer                  ' warten bis Ausgabepuffer leer ist

   Portd.7 = 0

   Waitms 1
   Empf_com1 = 1

   I = 0






If Empf_com1 = 1 Then
    Toggle Portd.5                                          'Kontroll LED
    Print #1 , Ausgabe_com1;
    Ausgabe_com1 = ""
    Empf_com1 = 0
End If


If Empf_com2 = 1 Then
   Print #1 , Ausgabe_com2;
   Ausgabe_com2 = ""
   Empf_com2 = 0
End If

End If


Loop

End

Close #1



Empfangen_com1:

Toggle Portd.4                                              ' Kontroll LED
Ausgabe_com1 = Ausgabe_com1 + Chr(udr)
Empf_com1 = 1

Return


Empfangen_com2:

Ausgabe_com2 = Ausgabe_com2 + Chr(udr1)
Empf_com2 = 1

Return
Gruß Frank