Autor Tema: Problema con definición de estructura en C30  (Leído 1273 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Problema con definición de estructura en C30
« en: 12 de Enero de 2012, 19:22:35 »
Hola amigos del foro, estoy trabajando el stack de tcpip de microchip, he ido poco a poco intentando compilar, pero todavía no he podido, he llegado hasta un punto de tener solo un error, claro esta sin saber si funciona, solo compilar, el error me dice  que hay una estructura que no esta definida, pero si esta definida en un archivo de los del stack, a continuación les muestro el error:

../ARP.c: In function 'ARPPut':
../ARP.c:139: error: 'AppConfig' undeclared (first use in this function)
../ARP.c:139: error: (Each undeclared identifier is reported only once
../ARP.c:139: error: for each function it appears in.)

Este es el punto del codigo que arroja el error:

static BOOL ARPPut(ARP_PACKET *packet)
   {
           while(!MACIsTxReady());
           MACSetWritePtr(BASE_TX_ADDR);


       packet->HardwareType  = HW_ETHERNET;
       packet->Protocol      = ARP_IP;
       packet->MACAddrLen    = sizeof(MAC_ADDR);
       packet->ProtocolLen   = sizeof(IP_ADDR);
   //    packet->SenderMACAddr = AppConfig.MyMACAddr;      // HI-TECH PICC-18 compiler can't handle this statement, use memcpy() as a workaround
           memcpy(&packet->SenderMACAddr, (void*)&AppConfig.MyMACAddr, sizeof(packet->SenderMACAddr));
       packet->SenderIPAddr  = AppConfig.MyIPAddr;

       SwapARPPacket(packet);

       MACPutHeader(&packet->TargetMACAddr, MAC_ARP, sizeof(*packet));
       MACPutArray((BYTE*)packet, sizeof(*packet));
       MACFlush();

           return TRUE;
   }


Y aquí donde esta definido:

// Declare AppConfig structure and some other supporting stack variables
APP_CONFIG AppConfig;

Y tambien podemos ver que es APP_CONFIG:

// Application-dependent structure used to contain address information
typedef struct __attribute__((__packed__))
{
        IP_ADDR      MyIPAddr;               // IP address
        IP_ADDR      MyMask;                 // Subnet mask
        IP_ADDR      MyGateway;              // Default Gateway
        IP_ADDR      PrimaryDNSServer;       // Primary DNS Server
        IP_ADDR      SecondaryDNSServer;     // Secondary DNS Server
        IP_ADDR      DefaultIPAddr;          // Default IP address
        IP_ADDR      DefaultMask;            // Default subnet mask
        BYTE      NetBIOSName[16];        // NetBIOS name
   struct
   {
      unsigned char : 6;
      unsigned char bIsDHCPEnabled : 1;
      unsigned char bInConfigMode : 1;
   } Flags;                            // Flag structure
        MAC_ADDR   MyMACAddr;              // Application MAC address

#if defined(WF_CS_TRIS)
   BYTE      MySSID[32];             // Wireless SSID (if using MRF24WB0M)
   BYTE        SsidLength;             // number of bytes in SSID
   BYTE        SecurityMode;           // WF_SECURITY_OPEN or one of the other security modes
   BYTE        SecurityKey[64];        // WiFi Security key, or passphrase.   
   BYTE        SecurityKeyLength;      // number of bytes in security key (can be 0)
   BYTE        WepKeyIndex;            // WEP key index (only valid for WEP)
    #if defined(EZ_CONFIG_STORE) // WLAN configuration data stored to NVM
    BYTE        dataValid;
    BYTE        networkType;
    BYTE        saveSecurityInfo;       // Save 32-byte PSK
    #endif
#endif
   
#if defined(STACK_USE_SNMP_SERVER) || defined(STACK_USE_SNMPV3_SERVER)
   // SNMPv2C Read community names
   // SNMP_COMMUNITY_MAX_LEN (8) + 1 null termination byte
   BYTE readCommunity[SNMP_MAX_COMMUNITY_SUPPORT][SNMP_COMMUNITY_MAX_LEN+1];

   // SNMPv2C Write community names
   // SNMP_COMMUNITY_MAX_LEN (8) + 1 null termination byte
   BYTE writeCommunity[SNMP_MAX_COMMUNITY_SUPPORT][SNMP_COMMUNITY_MAX_LEN+1];

   UINT32 SnmpEngineBootRcrd;
#endif

}APP_CONFIG;

Así que la verdad no tengo ni idea de por que esta ocurriendo este error, a ver si ustedes tienen alguna idea de que podría ser, gracias por la ayuda.




 

anything