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







Zitieren

Lesezeichen