Danke Günter für deine Bemühungen.
Hier sind die Define usw
Device = mega644p, VCC=5;
{ $BOOTRST $0F000} {Reset Jump to $0F000}
Define_Fuses
Override_Fuses; // JTAGEN deaktiviert da die Eingänge auf dem Port liegen
LockBits0 = [LockBit1,LockBit2,BOOTLOCK11];
FuseBits0 = [SUT0];
FuseBits1 = [SPIEN]; //, JTAGEN, OCDEN
FuseBits2 = [];
ProgMode = SPI;
Import SysTick,Watchdog, SerPort, Switchport1, ADCPort, PWMport2B, PWMport2A, LANport, TINAstack;
From System Import LongWord, Longint, Float, Processes;
Define
ProcClock = 16000000; {Hertz}
SysTick = 1; {msec}
StackSize = $0128, iData;
FrameSize = $0096, iData;
Scheduler = iData;
SerPort = 38400, Stop1; {Baud, StopBits|Parity}
RxBuffer = 16, iData;
TxBuffer = 4, iData;
SwitchPort1 = PinA,$0F;
PolarityP1 = $0F; // polarity
Debounce = 2;
TINAdriver = ENC28J60;
TINAport = SPI, PortB, 4;
TINAtimer = Timer1;
TINAsockets = 2;
ADCchans = [5..8], iData;
ADCpresc = 256;
PWMres2 = 10;
PWMpresc2 = 256;
PWMmode2 = SLOW;
LANport = SerPort2;
LANctrl = PortB, 0;
LANbaud = 38400;
LANmode = Master;
LANadr = 8; {8/16 BIT}
LANframe = 8,iData; {Frame size in bytes}
LANcheck = chkSum8; {ChkSum8, ChkSum16, CRC16}
WatchDog = 7;
Define_USR
// Signalzahlen
max_e = 42;
Max_a = 4;
max_q = 3;
max_i = 2;
max_r = 12;
max_v = max_r*4;
Uses Tina;
Implementation
Der Fehleranzeige wird auf die Letzte Zeile des Programms gesetzt "end Programmxx."
Das Programm läuft seit einigen Monaten ohne Probleme.
Grüße Jony