Error mit LAN-Treiber

wom
 
Avatar
 
Betreff:

Error mit LAN-Treiber

 · 
Gepostet: 13.12.2010 - 14:20 Uhr  ·  #1
Hallo Rolf,

in dem kleinen Programm
Code
program HS2010_A;

{$NOSHADOW}
{ $WG}                     {global Warnings off}

Device = mega32, VCC=5;

Define_Fuses
  Override_Fuses;
  COMport        = USB;
  LockBits0      = [];
  FuseBits0      = [BODEN, BODLEVEL];
  FuseBits1      = [CKOPT];
  FuseBits2      = [];
  ProgMode       = SPI;

Import SysTick, WatchDog, LANport,TickTimer;

From System Import LongWord, LongInt, Float;


Define
      ProcClock      = 16000000;       {Hertz}
      SysTick        = 10;             {msec}
      WatchDog       = msec2000;         {presc = 7}
      StackSize      = $0064, iData;
      FrameSize      = $0064, iData;
      TickTimer      = Timer1;
      LANport        = SerPort;          // SerPort, SerPort2
      LANctrl        = PortD,5;          // RS485 driver direction
      LANbaud        = 38400;
      LANmode        = Slave;            // Master, Slave
      LANadr         = 8;                // 8, 16
      LANframe       = 16, iData;        // 1..1024
      LANcheck       = ChkSum8;          // ChkSum8, ChkSum16, CRC16

Implementation

{$IDATA}

{--------------------------------------------------------------}
{ Type Declarations }

type
  tLANRec = record
                  LANstate : byte;                          // LAN state        size and loc fixed
                  LANnode  : byte;                          // rx/tx address    size and loc fixed
                  LANlen   : byte;                          // rx/tx frame len  size and loc fixed
                  LANusr1  : byte;                          // user defined
                  LANusr2  : word;                          // user defined
                  LANdata  : array[0..LANframe-4] of char;  // user defined
                end;


{--------------------------------------------------------------}
{ Var Declarations }
Var
   {$NOOVRCHECK}
   LANRxRec[@LANrxStatReg]  : tLANRec;
   {$NOOVRCHECK}
   LANTxRec[@LANtxStatReg]  : tLANRec;

{$IDATA}
{--------------------------------------------------------------}
{ functions }

{--------------------------------------------------------------}
{ Main Program }
begin
     WatchDogStart;
     LANnodeAdr:=$32;                   // Adresse des Moduls
     EnableInts;
     loop
       WatchDogTrig;
       if (LANrxStat)then
         if LANrxStatReg = $FF then
           LANrxClear;
         endif:
       endIf;
     endloop;
end.


bekomme ich eine Fehlermeldung. Wenn ich die Abfrage des LANrxStatReg entferne ist die Meldung nicht mehr vorhanden.

Code
{ Main Program }
begin
     WatchDogStart;
     LANnodeAdr:=$32;                   // Adresse des Moduls
     EnableInts;
     loop
       WatchDogTrig;
       if (LANrxStat)then
//         if LANrxStatReg = $FF then
           LANrxClear;
//         endif:
       endIf;
     endloop;
end.

Ich kann keinen Fehler erkennen. In einer ähnlichen Programmrahmen habe ich keine Probleme .

gruß
WOM
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 25
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: Error mit LAN-Treiber

 · 
Gepostet: 13.12.2010 - 18:12 Uhr  ·  #2
Hallo wom,

wenn ich den Doppelpunkt hinter "endif:" durch ein Semikolon ersetze läuft der Compiler durch!
Die Fehlermeldung dazu ist auch eindeutig...

rolf
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
wom
 
Avatar
 
Betreff:

Re: Error mit LAN-Treiber

 · 
Gepostet: 14.12.2010 - 08:51 Uhr  ·  #3
Hallo Rolf,

sorry, habe ich mehrfach durchgelesen und ist mir nicht aufgefallen. Sorry,

Gruß
Wom
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   64   78 · Page-Gen-Time: 0.024584s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI