diff --git a/src/adc_dma.c b/src/adc_dma.c
index f3bb3dc447e1988992781fd897f3a1da5810eb52..2ca78a2462968d73624f375c7e36578298d1f57d 100755
--- a/src/adc_dma.c
+++ b/src/adc_dma.c
@@ -140,18 +140,18 @@ void ADC_DMA_IRQHandler(void)
         if(i==5)
         {
           value=adc_convert_temperature(darwin_adc.data[i]&0x0000FFFF);
-          darwin_adc.memory->data[ADC_TEMP_OFFSET]=value%256;
-          darwin_adc.memory->data[ADC_TEMP_OFFSET+1]=value/256;
+          darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_TEMP_OFFSET]=value%256;
+          darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_TEMP_OFFSET+1]=value/256;
         }
         else
         {
           value=adc_convert_voltage(darwin_adc.data[i]&0x0000FFFF);
-          darwin_adc.memory->data[ADC_CH1_VOLTAGE_OFFSET+i*4]=value%256;
-          darwin_adc.memory->data[ADC_CH1_VOLTAGE_OFFSET+1+i*4]=value/256;
+          darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CH1_VOLTAGE_OFFSET+i*4]=value%256;
+          darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CH1_VOLTAGE_OFFSET+1+i*4]=value/256;
         }
         value=adc_convert_voltage((darwin_adc.data[i]&0xFFFF0000)>>16);
-        darwin_adc.memory->data[ADC_CH2_VOLTAGE_OFFSET+i*4]=value%256;
-        darwin_adc.memory->data[ADC_CH2_VOLTAGE_OFFSET+1+i*4]=value/256;
+        darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CH2_VOLTAGE_OFFSET+i*4]=value%256;
+        darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CH2_VOLTAGE_OFFSET+1+i*4]=value/256;
       }
     }
 }