打印

数据写入到EEPROM

[复制链接]
565|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stly|  楼主 | 2020-1-11 23:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我想在烧录时把一个数据写入到EEPROM中,在程序运行阶段也可以对EEPROM读取或者写入该值。
我查到了PICC18环境下的话用宏 __EEPROM_DATA(0,1,2,3,4,5,6,7);这样的操作就可以,我现在用的MCC18编译器该怎么操作呢?

使用特权

评论回复
沙发
chenho| | 2020-1-11 23:35 | 只看该作者

然后呢?你是怎么应对这个的呢        

使用特权

评论回复
板凳
stly|  楼主 | 2020-1-11 23:39 | 只看该作者
现在用了一个笨方法,烧录前打开VIEW--EEPROM,在想存储的位置写入值,然后烧录就写入了。这个方法太笨,用#pragma的方法在code中怎么实现呢?

使用特权

评论回复
地板
songqian17| | 2020-1-11 23:48 | 只看该作者
免得每次都要VIEW-EEPROM?

使用特权

评论回复
5
stly|  楼主 | 2020-1-11 23:50 | 只看该作者
是啊,数据手册和MCC18的用户指南都看了,还是不会才来这里请指教。

使用特权

评论回复
6
stly|  楼主 | 2020-1-11 23:53 | 只看该作者
另外我的pic还外接了24L515,这对EEPROM有影响吗?

使用特权

评论回复
7
tian111| | 2020-1-11 23:56 | 只看该作者

然后呢?你是怎么应对这个的呢        

使用特权

评论回复
8
stly|  楼主 | 2020-1-12 08:24 | 只看该作者
查了一晚上资料解决了在COD中写入预赋值,代码如下
#pragma romdata mydata = 0xf00000
rom unsigned char con[]={0x04,0xab};
#pragma romdata
程序中增加以上代码,编译完后,VIEW---EEPROM中0x000、0x001显示为0x04、0xab。

使用特权

评论回复
9
stly|  楼主 | 2020-1-12 08:31 | 只看该作者
但为什么是0xf00000,我用的18F6722程序存储区最大地址是1FFFF。

使用特权

评论回复
10
llljh| | 2020-1-12 08:34 | 只看该作者
pic18系列的EE和程序是分开的

使用特权

评论回复
11
liuzaiy| | 2020-1-12 08:37 | 只看该作者
烧写的是后,加载EE文件并编译就OK

使用特权

评论回复
12
yinxiangh| | 2020-1-12 08:40 | 只看该作者
外部接的EE芯片,对内没有任何影响

使用特权

评论回复
13
wenfen| | 2020-1-12 08:43 | 只看该作者

使用特权

评论回复
14
zhuhuis| | 2020-1-12 08:47 | 只看该作者
直接打开对应的lkr文件就有说明。
CODEPAGE   NAME=eedata     START=0xF00000       END=0xF000FF       PROTECTED
开始地址:0xF00000  结束地址:0xF000FF

使用特权

评论回复
15
wenfen| | 2020-1-12 08:51 | 只看该作者
mcc18 初始化eeprom程序,感谢楼主分享!

使用特权

评论回复
16
stly|  楼主 | 2020-1-12 08:55 | 只看该作者

好的,我明天去单位试一下,多谢各位大侠了哈        

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

433

主题

7058

帖子

0

粉丝