Hi , I have used BDATA for my 12 bit ADC program where all the 12 bits are collected at 0x20 by declearing volatile unsigned int bdata ADC _at_ 0x20 The information of the data accessed from the ADC is stored in the respective locations from the the absolute address. Now how can I access those two bytes from the specified location i.e., 0x20 and 0x21 in order to process the ADC data ? I have initilzed as, volatile unsigned char ReadADC1 _at_ 0x20; volatile unsigned char ReadADC2 _at_ 0x21; but I was getting DATA SPACE MEMORY OVERLAP warning!! Please suggest me how can I access two bytes from 0x20 and 0x21. MURALI
volatile unsigned int bdata ADC _at_ 0x20
volatile unsigned char ReadADC1 _at_ 0x20; volatile unsigned char ReadADC2 _at_ 0x21;
Is the Union only solution to the problem??? No. or is there any other way we can access the data from the absolute location!! You could go the ugly, convoluted and confusing way and use absolute access macros.