MPLAB X IDE + xc8 不能用EEPROM_READ和EEPROM_WRITE读写数据,求解决...
MPLAB IDE v8.90+PICC可以调用EEPROM_READ(0)和EEPROM_WRITE(0,0)两个函数进行数据的读写。最近把程序移到MPLAB X IDE v3.20+xc8编译运行就发现数据不能写进EEPROM了,不知道这是什么问题。是XC8不支持那两个函数了么?还是我配置的问题?有谁遇到这个问题没,有什么解决方法一起探讨一下 应该是XC8不支持者两个函数,应该是有另外的操作方法,XC16是直接定义一个在EEPROM里面的变量(永久变量)就可以操作了 直接使用EEPROM_READ和EEPROM_WRITE在某些事会有问题的可以是用以下两个函数来代替,这两个函数也是编译器自带的。
extern void eeprom_write(unsigned char addr, unsigned char value);
extern unsigned char eeprom_read(unsigned char addr); eeant.net 发表于 2016-3-31 17:38
直接使用EEPROM_READ和EEPROM_WRITE在某些事会有问题的
可以是用以下两个函数来代替,这两个函数也是编译器 ...
这两个函数在哪里的,谢谢 lu976046395 发表于 2016-3-31 17:37
应该是XC8不支持者两个函数,应该是有另外的操作方法,XC16是直接定义一个在EEPROM里面的变量(永久变量) ...
不知道是否支持,但是调用了这两个函数它也不会报错的。不知道有什么另外的操作方法,不会要自己从写函数了吧?那样的话就没有PICC那样方便了 eeant.net 发表于 2016-3-31 17:38
直接使用EEPROM_READ和EEPROM_WRITE在某些事会有问题的
可以是用以下两个函数来代替,这两个函数也是编译器 ...
谢谢!我找过XC8里面相关的头文件了,没发现这两个函数。我先试试吧 eeant.net 发表于 2016-3-31 17:38
直接使用EEPROM_READ和EEPROM_WRITE在某些事会有问题的
可以是用以下两个函数来代替,这两个函数也是编译器 ...
刚刚试了你说的方法,但是一编译就出现错误了。如图 ersha4877 发表于 2016-3-31 18:40
这两个函数在哪里的,谢谢
在include目录下的eeprom_routines.h yanzhiwei 发表于 2016-3-31 22:42
谢谢!我找过XC8里面相关的头文件了,没发现这两个函数。我先试试吧
include目录下的eeprom_routines.h eeant.net 发表于 2016-3-31 23:12
在include目录下的eeprom_routines.h
感谢,不过这个是内部EEPROM ,不知那里可以有MSSP I2C的程序,谢谢 eeant.net 发表于 2016-3-31 23:12
在include目录下的eeprom_routines.h
谢谢,我试过了,还是会提示7楼图片所示的错误。我已经把相应的头文件都包涵进去了,现在都搞不懂什么状况了 yanzhiwei 发表于 2016-3-31 22:39
不知道是否支持,但是调用了这两个函数它也不会报错的。不知道有什么另外的操作方法,不会要自己从写函数 ...
persistent
persistent 属性指定不应在启动时初始化或清零变量。带persistent 属性的变量
可用于存储在器件复位后仍然有效的状态信息。
int last_mode __attribute__ ((persistent));
这是《MPLAB® XC16 C 编译器 用户指南里面》的变量属性进行限定即可,不知道XC8是否有这样的操作,现在解决了吗? lu976046395 发表于 2016-4-5 22:05
persistent
persistent 属性指定不应在启动时初始化或清零变量。带persistent 属性的变量
可用于存储在器 ...
谢谢啦。这几天忙别的了,这个问题还没解决,明天用你说的方法试试。 XC8支持这两个涵数的!自动包含头文件的! pangbin4 发表于 2016-4-11 16:43
XC8支持这两个涵数的!自动包含头文件的!
试过了,调用后就是无法保存数据,之前用PICC9.5的时候就可以 lu976046395 发表于 2016-4-5 22:05
persistent
persistent 属性指定不应在启动时初始化或清零变量。带persistent 属性的变量
可用于存储在器 ...
还没解决,用了你介绍的方法也不能保存,不知道是不是我哪里设置不对,以前用PICC都可以,现在只是把以前的程序移植到这边来而已。太郁闷了
页:
[1]