博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用EEPROM实现arduino的断电存储
阅读量:6954 次
发布时间:2019-06-27

本文共 1745 字,大约阅读时间需要 5 分钟。

转载请注明:@小五义QQ群:64770604

一、EEPROM简介

      EEPROM (Electrically Erasable Programmable Read-Only Memory),上电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片,简而言之就是你想断电后arduino还要保存一些参数,就使用EEPROM吧。在各型号的arduino控制器上的AVR芯片均带有EEPROM,也有外接的EEPROM芯片,常见arduino控制器的EEPROM大小:Arduino UNO、Arduino duemilanove-m328、Zduino m328均使用ATmega328芯片,EEPROM都为1K,Arduino duemilanove-m168的EEPROM为512bytes。下面以arduino leonardo介绍arduino自带的EEPROM使用方法,以及arduino插拔次数的计数方法,arduino中已经存在EEPROM类库,我们要使用得先调用EEPROM.h,然后使用write和read方法,即可操作EEPROM。

二、arduino iDE中的例程(具体程序请从ide中添加)

     1.写入例程

     选择 File>Examples>EEPROM>eeprom_write。

     2.读取例程

     选择 File>Examples>EEPROM>eeprom_read。

     3.清除

     选择 File>Examples>EEPROM>eeprom_clear
     清除EEPROM的内容,其实就是把EEPROM中每一个字节写入0,因为只用清一次零,所以整个程序都在setup部分完成。

三、利用EEPROM存储记录arduino使用次数

    记录arduino的使用次数,就是记录arduino上电次数。考虑利用eeprom进行存储,每上电一次,存储数值加1。

    (1)清零程序

    在arduino首次使用或者记录时,先清零,保证从0开始记数。具体代码如下:

##转载请注明:@小五义http://www.cnblogs.com/xiaowuyi  QQ群:64770604#include 
int address ;//应用EEPROM地址位为1int value=0;void setup(){ value==1 ; EEPROM.write(address, value); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only }}void loop(){ //Serial.print(address); Serial.print(value); Serial.println(); delay(1000);}

  (2)记数程序

    清零后,将此记数程序烧入,以后每次上电,EEPROM的存储值会加1,实现对arduino使用次数的记录。具体代码如下:

##转载请注明:@小五义http://www.cnblogs.com/xiaowuyi  QQ群:64770604#include 
int address ;//应用EEPROM地址位为1int value;void setup(){ // initialize serial and wait for port to open: Serial.begin(9600); value = EEPROM.read(address); value+=1 ; EEPROM.write(address, value); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only }}void loop(){ //Serial.print(address); Serial.print(value); Serial.println(); delay(1000);}

  最后,感谢公司李同学的文档整理。

 

你可能感兴趣的文章
重读<软件性能测试>摘要
查看>>
毕业季
查看>>
测评报告:热门项目管理工具哪家强?
查看>>
java.sql.SQLSyntaxErrorException: ORA-00904: " ": invalid identifier错误
查看>>
vue2.0做移动端开发用到的相关插件和经验总结
查看>>
Linux查看文件夹大小
查看>>
系统集成项目管理工程师整理资料
查看>>
writexml方法:
查看>>
AutoLayout经常用到的一些布局(含StackView)
查看>>
HLG 1541 集合划分【01背包】
查看>>
Java IO 详解
查看>>
php生成随机密码的几种方法
查看>>
c#编程模仿的1stopt界面
查看>>
Castle ActiveRecord的一对多问题
查看>>
移山亦可有道 ——读《移山之道》
查看>>
python使用windows注册表
查看>>
MySQL5.6.13安装步骤(Windows7 64位)札记 1
查看>>
使用 nginx + thin 的配置启动 rails server
查看>>
服务器用户登录记录
查看>>
Centos6.0使用第三方YUM源(EPEL,RPMForge,RPMFusion)
查看>>