arduino - 我可以在 Arduino Mega 中临时存储 16 位卡号及其 4 位密码吗?
问题描述
我有一个读取 16 位卡号的 RFID RC522 阅读器和一个连接到 Arduino Mega 2560 Rev3 的迷你键盘,它读取 4 位密码。现在我已经连接了一个 ESP-8266 Wi-Fi 模块,以便将该 16 位卡号和 4 位密码发送到服务器以验证它是否是有效的卡用户。所以现在我想一次将卡号和密码发送到服务器,以减少对服务器的请求数量。
现在我想问一下Arduino中是否有足够的内存来临时存储20位数字并从服务器获取布尔值,无论它是否是有效用户。
解决方案
Mega2560 中的 ATmega2560 具有以下内存空间:
Flash 256k 字节(其中 8k 用于引导加载程序) SRAM 8k 字节 EEPROM 4k 字节
基于 Arduino 和 Genuino AVR 的板上的微控制器具有 EEPROM:当板关闭时,其值会保留下来(就像一个微型硬盘驱动器)。该库使您能够读取和写入这些字节。
各种 Arduino 和 Genuino 板上支持的微控制器具有不同数量的 EEPROM:ATmega328P 为 1024 字节,ATmega168 和 ATmega8 为 512 字节,ATmega1280 和 ATmega2560 为 4 KB(4096 字节)。Arduino 和 Genuino 101 板具有 1024 字节的模拟 EEPROM 空间。
要使用特定的 EEPROM 库,请使用:#include <EEPROM.h>
例子
EEPROM Clear: Clear the bytes in the EEPROM.
EEPROM Read: Read the EEPROM and send its values to the computer.
EEPROM Write: Stores values from an analog input to the EEPROM.
EEPROM Crc: Calculates the CRC of EEPROM contents as if it was an array.
EEPROM Get: Get values from EEPROM and prints as float on serial.
EEPROM Iteration: Understand how to go through the EEPROM memory locations.
EEPROM Put: Put values in EEPROM using variable semantics.
EEPROM Update: Stores values read from A0 into EEPROM, writing the value only if different, to increase EEPROM life.
完整参考在这里:https ://www.arduino.cc/en/Reference/EEPROM
总结和回答您的问题,是的,可以将您的数据量存储在 Arduino Mega 中,也可以使用在板关闭时保留其值的 EEPROM(如微型硬盘驱动器)。一切顺利
推荐阅读
- c - 管道如何在c中工作?
- ios - 具有两个表视图和标签的 Stackview 导致重叠
- reactjs - 警告:列表中的每个孩子都应该有一个唯一的“关键”道具,使待办事项列表做出反应
- ansible - 如何设置事实女巫在 Ansible 角色的所有主机上可见
- excel - 提取未关闭的过期项目
- java - 用于在数据库表中搜索子字符串的 MySQL 类似查询
- sql - Oracle 中的多个内联函数
- android - 如何在首先在 Linux 上制作并导入 Windows 的项目上修复“无法进行 Kotlin 项目配置”
- asp.net-mvc - 如何解决不支持的关键字:“数据源”
- html - role=dialog 和 role=alertdialog 有什么区别?