基于Arduino IDE开发的ESP8266(ESP-12F)项目8 ——EEPORM

 本次写这篇文章是自己做一下学习记录,如有错误,还请大家斧正!!!

日后及时修正!感谢支持!

 欢迎大家的关注        点赞        收藏        留言


目录

前言

        一、新建工程

        二、项目函数介绍                                     

        三、代码编写

        四、编译、烧录、运行

结束语


前言

        EEPORM是(带电可擦可编程只读存储器)是用户可更改的只读存储器(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。EEPROM是一种特殊形式的闪存,其应用通常是个人电脑中的电压来擦写和重编程。——百度百科的解释。


 一、新建工程

        首先打开Arduino IDE,点击 文件——> 点击新建,就会生成一个新的工程模板了。 (还可以点任务栏中“折了一角的书页”快速新建)。

 然后给项目重命名,然后再保存。

 这样一个新的工程就建好了。


二、项目基本函数介绍

1. 写数据函数

        向EEPROM空间指定地址写入1字节数据。

EEPROM.write(address, data)
参数说明
address写入存储空间地址
data实际写入的数据

2. 读数据函数

        从指定位置读出的数据。

EEPROM.read(addr)
参数说明
addr指定地址
返回值从指定地址读出的数据

        注:这个函数适用于Arduino 系列的单片机,在ESP8266上实验出现问题,未解决。

3. 清除数据函数

        清空EEPROM空间中的所有数据。

EEPROM.clear()

        注:这个函数适用于Arduino 系列的单片机,在ESP8266上实验不成功。


 三、代码编写

        此次我只将,A0口读入的AD值保存在EEPORM中,在将其读出,再在串口打印出来保存的地址及内容。但我发现读取的地址未发现存入的数据,因此此次教程有点瑕疵。想继续了解ESP8266—EEPORM,请参考关于ESP8266的EEPORM库。ESP_EEPROM - Arduino Reference。抱歉,未能给予帮助!

        示例代码如下:

#include <EEPROM.h>

int write_addr = 0;
int read_addr=0;

void setup() {
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  
  delay(3000);
  
  for(int i = 0; i < 11; i++)
  {
    unsigned long val = analogRead(0);
    Serial.print("Write_Addr:");
    Serial.print(write_addr);
    Serial.print(";Writing:");
    Serial.println(val);
    EEPROM.write(write_addr, val); 
    write_addr++;
    delay(1000);
  }
  Serial.println("地址写入完毕!");

  for(int j = 0;j < 11;j++)
  {
    unsigned long value = EEPROM.read(read_addr);
    Serial.print("Read_Addr:");
    Serial.print(read_addr);
    Serial.print(";Reading:");
    Serial.println(value);
    read_addr++;
    delay(1000);
  }
  Serial.println("数据读取完毕!");
}

void loop() {
  
}

 四、编译、烧录、运行

        在我前一篇博文就介绍了如何编译、烧录,这里就不再过多赘述了,还望谅解!

         抱歉程序还不完善。


结束语

        关于此次基于Arduino IDE开发的ESP8266(ESP-12F)项目8 ——EEPORM项目的介绍就讲到这里了,如果什么问题请再评论区留言。

        由于时间原因、博主本身原因,此系列基础教程就到这里,后期将不在继续更新了,维护也可能减少,给阅读此教程想继续了解ESP8266的同学照成不便,在这里深感抱歉!,此芯片的基础算是告一段落,关于物联网这块想继续了解它的同学,可以在B站上继续深造学习,上面关于这块的教程还是蛮多的。感谢大家的支持!如有觉得这篇文章对你有所帮助的,还请点赞、收藏吧!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是连接RFID-RC522模块到ESP8266并在Arduino IDE上运行的步骤: 材料: - ESP8266开发板 - RFID-RC522模块 - 杜邦线(至少需要7根) 步骤: 1. 连接RFID-RC522模块到ESP8266开发板 - 将RFID-RC522模块的SCK引脚连接到ESP8266的D5引脚 - 将RFID-RC522模块的MOSI引脚连接到ESP8266的D7引脚 - 将RFID-RC522模块的MISO引脚连接到ESP8266的D6引脚 - 将RFID-RC522模块的SS引脚连接到ESP8266的D8引脚 - 将RFID-RC522模块的RST引脚连接到ESP8266的D0引脚 - 将RFID-RC522模块的3.3V引脚连接到ESP8266的3.3V引脚 - 将RFID-RC522模块的GND引脚连接到ESP8266的GND引脚 2. 下载并安装MFRC522 - 在Arduino IDE打开“管理器”(菜单栏:工具 > 管理) - 搜索“MFRC522” - 选择最新版本并点击“安装” 3. 编写代码 - 在Arduino IDE打开一个新的空白文件 - 复制以下代码并粘贴到文件 ```c++ #include <SPI.h> #include <MFRC522.h> #define RST_PIN D0 #define SS_PIN D8 MFRC522 mfrc522(SS_PIN, RST_PIN); // 创建MFRC522实例 void setup() { Serial.begin(9600); // 与电脑通信的串口初始化 SPI.begin(); // 初始化SPI总线 mfrc522.PCD_Init(); // 初始化MFRC522 } void loop() { // 检测是否有新的卡片出现 if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { // 输出卡片的UID Serial.print("UID tag :"); String content = ""; byte letter; for (byte i = 0; i < mfrc522.uid.size; i++) { Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? "0" : ""); Serial.print(mfrc522.uid.uidByte[i], HEX); content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "")); content.concat(String(mfrc522.uid.uidByte[i], HEX)); } Serial.println(); Serial.print("Message : "); content.toUpperCase(); if (content.substring(1) == "XX XX XX XX") { Serial.println("Authorized access"); // 这里可以加入执行授权访问的代码 } else { Serial.println("Access denied"); } } } ``` - 将代码上传到ESP8266开发板 4. 测试 - 打开串口监视器(菜单栏:工具 > 串口监视器) - 将一个RFID卡片放到RFID-RC522模块旁边 - 串口监视器将会显示卡片的UID - 如果卡片的UID与代码的授权UID匹配,则串口监视器将打印“Authorized access”,否则打印“Access denied”

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值