Hi,
was bewirkt denn dieser Befehl?

Const Timsk = Timsk0

Die Stacks habe ich auch schon ganz schön hochgeschraubt!!!


Also folgender Code beinhaltet das Problem:

Code:
$regfile = "M1284pdef.dat"
' In den Fusebits wurde der externe Oszillator für 18,432MHz ausgewählt
$crystal = 18432000

$hwstack = 355                                             ' Standard 42 für den "Hardware Stack"
$swstack = 355                                             ' Standard 40 für den "Software Stack" 
$framesize = 655                                          ' Standard 40 für den "Frame" 

' Baudrate für den ersten seriellen Port 
$baud = 9600
' Baudrate für den zweitern seriellen Port
$baud1 = 9600

' Analog Comparator ausschalten   ACSR.ACD = 1
Stop Ac
' Watchdog ausschalten
Stop Watchdog

' Echo aus
Echo Off
' Interrupts global zulassen
Enable Interrupts

' KONFIGURATION

' Com1 auf 8 Bit Modus konfigurieren
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
' Com2 auf 8 Bit Modus konfigurieren
Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0

' Öffnen der zweiten Com-Schnittstelle
Open "COM2:" For Binary As #1

' Empfangspuffer UART
Config Serialin = Buffered , Size = 50
' Sendepuffer UART
Config Serialout = Buffered , Size = 50
' Empfangspuffer UART1
Config Serialin1 = Buffered , Size = 50
' Sendepuffer UART1
Config Serialout1 = Buffered , Size = 50

Declare Sub Kommunikation   

Do 

....

Call Kommunikation
....

Loop

Sub Kommunikation

          ' Daten im Empfangspuffer
          If _rs_bufcountr1 > 0 Then

              fehlende_daten = 0

              ' Daten vollständig empfangen
              If _rs_bufcountr1 >= 5 Then

                    falsche_laenge = 0

                    ' Daten einlesen
                    Inputbin #1 , empfangsarray(1) , 5

                    ziel = empfangsarray(1)
                    quelle = empfangsarray(2)

                   
                    If ziel = 0 Then

                          falscher_kopf = 0

                          ' HIER PASSIERT DER FEHLER!!!!!!!!!!!!!!!!!!!
                          If quelle = Pruef_quelle Then

                                 falscher_tn = 0

                                 ' Empfangene Checksumme mit errechneter vergleichen
                                 If empfangsarray(5) = Crc8(empfangsarray(1) , 4) Then

                                       Err_falsche_checksumme = 0

                                       ' Hier tut er dann irgendwas!!!

                                 Else
                                      
                                       Err_falsche_checksumme = 1

                                 End If

                          Else
                               
                                
                                 Err_falscher_tn = 1
                                 ' Zur Fehlerüberprüfung springen

                          End If

                    Else

                        falscher_kopf = 1

                    End If

              Else

                    falsche_laenge = 1

              End If

          Else

              fehlende_daten = 1

          End If

End Sub