Daniel Rogers

passing a volitile address from function to function

Discussion created by Daniel Rogers on Aug 14, 2007
Latest reply on Aug 15, 2007 by CompilerGuru
My secound problem is I have a table of addresses I need to look up and pass the resault to a function.
 
The addresses are to external memory mapped locations.
 
      OC_L1_CS          INTO  NO_INIT     0x40000B'G TO 0x40000B'G;   // Output Card 1 CS;
 
#pragma DATA_SEG __GPAGE_SEG OC_L1_CS
  volatile uchar pOC_L1_CS;
#pragma DATA_SEG DEFAULT
typedef struct {
  volatile uchar* pSol;
  volatile uchar* pAD;
} LCS_SOL_ADDR;
 
  LCS_SOL_ADDR const Sol_Addr[] = {{&pOC_L1_CS,  &pOC_AD1_CS},
                                   {&pOC_L2_CS,  &pOC_AD2_CS},
                                   {&pOC_L3_CS,  &pOC_AD3_CS},
                                   {&pOC_L4_CS,  &pOC_AD4_CS},
                                   {&pOC_BAT_CS, &pOC_BATAD_CS}};
my function is decleared as
 
  extern void  MAX7301_Init     (CARDSETTINGS const* Layout, SPI_PORT Port, volatile uchar* pAddr);
and called as
 
     MAX7301_Init(OC_Layout,Sol_Port,Sol_Addr[cCard].pSol);
Sol_addr[cCard].pSol is the address I are trying to pass.
 
At the rutine in get the value 255 and it is not correct.
 
What are I decearing wrong here

Outcomes