littlebot
Published on 2025-04-13 / 2 Visits
0

【源码】基于Arduino的并行EEPROM编程库

项目简介

本项目是一个并行EEPROM编程库,支持32Kx8(28C256和X28256)和2Kx8(28C16)规格的EEPROM,虽未对同规格且引脚排列相同的芯片测试,但大概率适用。此外,该库可用于验证外部并行RAM芯片是否正常工作,已在3.3V MSP432微控制器上完成测试。

项目的主要特性和功能

  1. 芯片支持:支持32Kx8和2Kx8规格的EEPROM,未来有支持其他规格的可能。
  2. 测试功能:可借助示例程序对外部并行RAM芯片进行功能测试。
  3. 电平转换:支持使用74LVC245收发器在EEPROM和MSP432之间进行数据信号的电平转换。
  4. 写入检测:支持DATA和TOGGLE两种轮询方式,能自动检测写入周期是否完成,无需在代码中硬编码延迟。
  5. 读写操作:目前支持单字节的读写操作,后续更新可能增加多字节读取和页面写入功能。

安装使用步骤

硬件连接

  1. 连接10K上拉电阻:将/CE信号(28C256/X28256的20脚、28C16的18脚)连接到 +5V;将74LVC245的/OE信号(19脚)连接到 +3.3V。
  2. 连接去耦电容:在每个芯片的Vcc和GND之间就近连接一个0.1uF的去耦电容。
  3. 连接74LVC245:将74LVC245的A侧连接到EEPROM数据线,B侧连接到微控制器。
  4. 处理引脚差异:因28C256/X28256和28C16引脚排列略有不同,编程硬件需在26/24脚设置跳线,使用28脚设备时选择A13,使用24脚设备时选择Vcc。

代码使用

  1. 包含头文件:在代码中包含库的头文件。 ```cpp

include

2. **实例化对象**:根据EEPROM类型和是否使用74LVC245收发器选择合适的构造函数。cpp // 示例:32KB设备(28C256/X28256)带74LVC245 ParallelEEPROM eep(byte A14, byte A13, byte A12, byte A11, byte A10, byte A9, byte A8, byte A7, byte A6, byte A5, byte A4, byte A3, byte A2, byte A1, byte A0, byte D7, byte D6, byte D5, byte D4, byte D3, byte D2, byte D1, byte D0, byte EEPROM_CE, byte EEPROM_OE, byte EEPROM_WE, byte 245_OE, byte 245_DIR); 3. **初始化对象**:在`setup()`函数中调用`begin()`方法初始化对象。cpp eep.begin(); 4. **使用库方法进行读写操作**:cpp // 无轮询写入 void write(uint16_t address, byte data); // 使用DATA轮询写入 void writeWithPolling(uint16_t address, byte data); // 使用TOGGLE轮询写入 void writeWithTogglePolling(uint16_t address, byte data); // 无轮询读取 byte read(uint16_t address); // 使用DATA轮询读取 byte readWithPolling(uint16_t address); // 使用TOGGLE轮询读取 byte readWithTogglePolling(uint16_t address); ```

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】