首页 » 智能 » 蚁哥和你一路玩ARDUINO(47理解EEPROM)_代码_变量

蚁哥和你一路玩ARDUINO(47理解EEPROM)_代码_变量

admin 2024-12-07 10:11:25 0

扫一扫用手机浏览

文章目录 [+]

ARDUINO的主控芯片都自带EEPROM ,不过型号不同,存储的空间大小也不同。
如ATmega328P的EEPROM空间为1K,而ATmega2560的EEPROM空间为4K。

Atmega328P 内部构造图

蚁哥和你一路玩ARDUINO(47理解EEPROM)_代码_变量 智能

我们可以把EEPROM理解为ARDUINO的\公众小硬盘\公众,按照须要当前的状态值保存在这个\"大众小硬盘\"大众中,每次上电后就先从\公众小硬盘\"大众中读取状态值,然后根据当前状态值处理程序就可以了。

EEPROM在ARDUINO中操作也很大略,ARDUINO供应了相应的库函数供我们利用,比较常用的为下面两个函数:

EEPROM.read(地址);//读取一个字节的EEPROM。
返回值为BYTE类型(8位),从未被写入的位置读出值为0xFF;

EEPROM.write(地址,值);//写一个字节到EEPROM中 ,值为BYTE类型(8位)。

来看下面的代码实例:

实例代码

把稳,这里的类型是BYTE,只有8位,也便是说,每次写入的最大值是255,如果要操作的数据大于255,比如1000,该做如何处理呢?常日的做法是,把1000分为高低两个字节来存储;代码实现如下:

int val = 1000;//将要存储的变量

int hByte = (val&0xFF00)>>8;//取变量的高8位,将数据整体右移8位

int lByte = val&0x00FF;//取变量的低8位

EEPROM.write(0, lByte ); //存储低8位

EEPROM.write(1, hByte ); //存储高8位

读取代码

int val ;

int hByte = EEPROM.read(1);

int lByte = EEPROM.read(0);

val =(hByte<<8)+lByte ;

相关文章

语言梗,网络时代的语言奇观

随着互联网的普及,网络语言逐渐成为人们日常交流的重要组成部分。其中,语言梗作为一种独特的网络语言现象,以其幽默、讽刺、调侃等特点深...

智能 2025-01-01 阅读0 评论0