打印
[PIC®/AVR®/dsPIC®产品]

怎样把数据写入到EEPROM,MCC18环境下

[复制链接]
2783|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
46621295|  楼主 | 2015-10-31 23:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我想在烧录时把一个数据写入到EEPROM中,在程序运行阶段也可以对EEPROM读取或者写入该值。
我查到了PICC18环境下的话用宏 __EEPROM_DATA(0,1,2,3,4,5,6,7);这样的操作就可以,我现在用的MCC18编译器该怎么操作呢?谢谢!
现在用了一个笨方法,烧录前打开VIEW--EEPROM,在想存储的位置写入值,然后烧录就写入了。这个方法太笨,用#pragma的方法在code中怎么实现呢?免得每次都要VIEW-EEPROM。
数据手册和MCC18的用户指南都看了,还是不会才来这里请指教。
另外我的pic还外接了24L515,这对EEPROM有影响吗?
沙发
46621295|  楼主 | 2015-11-1 09:41 | 只看该作者
查了一晚上资料解决了在COD中写入预赋值,代码如下
#pragma romdata mydata = 0xf00000
rom unsigned char con[]={0x04,0xab};
#pragma romdata
程序中增加以上代码,编译完后,VIEW---EEPROM中0x000、0x001显示为0x04、0xab。

但为什么是0xf00000,我用的18F6722程序存储区最大地址是1FFFF。

使用特权

评论回复
板凳
mzb2012| | 2015-11-4 13:13 | 只看该作者
1。pic18系列的EE和程序是分开的,
2.烧写的是后,加载EE文件并编译就OK
3.外部接的EE芯片,对内没有任何影响

使用特权

评论回复
地板
diweo| | 2015-11-4 14:21 | 只看该作者
46621295 发表于 2015-11-1 09:41
查了一晚上资料解决了在COD中写入预赋值,代码如下
#pragma romdata mydata = 0xf00000
rom unsigned char  ...

如图

新建位图图像.jpg (692.89 KB )

新建位图图像.jpg

使用特权

评论回复
5
wuhenyouyu| | 2015-11-5 09:03 | 只看该作者
直接打开对应的lkr文件就有说明。
CODEPAGE   NAME=eedata     START=0xF00000       END=0xF000FF       PROTECTED
开始地址:0xF00000  结束地址:0xF000FF

使用特权

评论回复
6
胡来一刀| | 2016-6-20 18:52 | 只看该作者
mcc18 初始化eeprom程序,感谢楼主分享!

使用特权

评论回复
7
拉普拉思| | 2017-7-3 13:42 | 只看该作者
标记,学习中

使用特权

评论回复
8
emt2000| | 2022-7-16 13:45 | 只看该作者
这个方法在MCC 3.0中已经不支持了,没用

使用特权

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

本版积分规则

56

主题

100

帖子

1

粉丝