GCC(WINAVR)里定义的EEPROM变量是如何绝对定位的?哪里有这方面的介绍?
GCC(WINAVR)里定义的EEPROM变量是如何绝对定位的?哪里有这方面的介绍? 我也很想知道,用绝对地址定义的时候,eeprom里面的是一些乱数,需要初始化,但是不用绝对地址,用变量定义的时候,一开始里面就会被初始化了,都是0.比如:
#definea0x01;
#defineb0x02;
这样定义不知道对不对. #definea( unsigned char *)0x01;
#defineb( unsigned char *)0x02; 编译连接时加-WL 参数, 指定地址
具体我自己也没用过,等待高手~~~ 用#define 能将变量定义到EEPROM里面吗? static unsigned char epvar __attribute_((section(".eeprom"))) = {1,4,5};
或者
#include<avr/eeprom.h>
unsigned char epvar[] EEMEM ={"dfdkhd"}; 自己用自己的函数,或者用自带的函数,但在使用的时候直接传递地址就行了。 jh #definea( unsigned char *)0x01;
#defineb( unsigned char *)0x02;
引用展开,如:
a = x;
b = y;
展开后:
(unsigned char *)0x01 = x;
(unsigned char *)0x02 = y;
相当于给0x01和0x02地址附值,指向x和y。 记下来楼的。 mark cjf0930 发表于 2007-9-11 19:41 static/image/common/back.gif
**** 作者被禁止或删除 内容自动屏蔽 ****
这个挺好,嘿嘿~
页:
[1]