Error mit LAN-Treiber

wom
 
Avatar
 
Subject:

Error mit LAN-Treiber

 · 
Posted: 13.12.2010 - 14:20  ·  #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
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Error mit LAN-Treiber

 · 
Posted: 13.12.2010 - 18:12  ·  #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
Attachments
Error mit LAN-Treiber
Filename: 2010-12-13_181623.jpg
Filesize: 8.19 KB
Title:
Download counter: 33
wom
 
Avatar
 
Subject:

Re: Error mit LAN-Treiber

 · 
Posted: 14.12.2010 - 08:51  ·  #3
Hallo Rolf,

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

Gruß
Wom
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   65   80 · Page-Gen-Time: 0.024737s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI