我想存储一些值到我的pic 18然后保留这些值,即使电源丢失或单位被重置。我想保存的值的一个例子是像这4个数字0100。
任何帮助将不胜感激!
更新:这是要走的路吗?
unsigned char value;
unsigned char DEEdata = 0x25;
unsigned int DEEaddr = 0x04;
DataEEInit();
dataEEFlags.val = 0;
DataEEWrite(DEEdata,DEEaddr);
value = DataEERead(DEEaddr);
Nop();
字符串
5条答案
按热度按时间mtb9vblg1#
在mikroc_for_PIC IDE中,您可以简单地用途:
EEPROM_write(_Addres,char); char = EEPROM_Read(_Addres);
注意:在写入后,最好延迟大约20毫秒。
d4so4syb2#
PIC单片机中的EEPROM可以长时间保存数据。PIC16F84可以存储64字节。虽然不多,但可以达到你的目的。本文详细介绍了PIC16中EEPROM的读写方法。
http://www.romux.com/tutorials/pic-tutorial/eeprom-data-memory
2ul0zpep3#
如果你使用
HIGH-TECH
作为编译器,你可以简单地写和读EEPROM
(这是唯一的方法,以保持一个值后,停电,除了农场IC)与以下函数:字符串
如果你安装了
HIGH-TECH
,你可以在下面的目录中找到这些函数:型
8ulbf1ek4#
数据写入EE需要几毫秒。如果你看一下https://en.wikipedia.org/wiki/EEPROM,它解释了擦除和写入的电气和物理过程,并给出了0.1到5mS之间的时间来实现这一点。编写或找到一个微秒级延迟例程(提示计时器对此很有用)
字符串
EEPROM的写功能,有点‘火了就忘了’。你命令它写,它就在后台继续写。如果你在写完后读得太快,你就不能保证得到你可能期望的价值。
tpgth1q75#
使用MPLab IDE v6时,MCC使用存储器外设生成要使用的函数。
读/写可以这样实现:
字符串