将表存储在不同的存储器地址 - C表示AVR XMEGA256A3BU

时间:2017-06-05 19:26:13

标签: c assembly avr

我正在试图弄清楚如何将华氏度表存储到内存地址0x20而不是默认的0x0000。我尝试了几条路线,但到目前为止,没有任何方法可行。代码在C。

#include <avr/io.h> 
#include <avr/eeprom.h> 

int main(void) 
{ 
    uint8_t fahrenheit[20] =
         {32,34,36,37,39,41,43,45,46,48,50,52,54,55,57,59,61,63,64,66}; 

    for(int i = 0; i < 20; i++) 
   {  
       eeprom_write_byte((uint8_t *)i, fahrenheit[i]); 
   }         
}

1 个答案:

答案 0 :(得分:1)

eeprom_write_byte((uint8_t *)i, fahrenheit[i]);将值写入地址i。因此,要根据需要从0x0020开始写入值,只需执行此操作eeprom_write_byte((uint8_t *)i+20, fahrenheit[i]);