1.2.3.6.4.6 AT24C32(EEPROM)

优质
小牛编辑
123浏览
2023-12-01

更新时间:2018-09-17 13:52:40

功能说明

at24c32 存储器驱动程序。at24c32 是一款 EEPROM 存储芯片,它的容量大小是 32Kb,它往往用来存储一些小规模的数据,我们会向该芯片中写入数据,并把读取的数据打印在终端上。

硬件资源

1.DevelopKit 开发板
2.AT24C32 模块

SCLSDA.jpg | center | 300x401.0610079575597

3.接线

  • at24c32 GND 引脚接 DevelopKit GND 引脚

  • at24c32 VCC 引脚接 DevelopKit VCC 引脚

  • at24c32 SCL 引脚接 DevelopKit SCL 引脚

  • at24c32 SDA 引脚接 DevelopKit SDA 引脚

软件设计

at24cxx 这序列的芯片,根据其容量的不同,其读写的方式也是不同的,对于小于 16KB 容量的,直接读写即可,对于大于 16KB 容量的,在读写上有页和地址的概念,写寄存器地址的时候,必须先写页地址,再写页中的偏移,一页大小是32byte。

驱动配置

开发板板级管脚配置(board.json) 示范:</span>

  "at24c32":{
    "type":"I2C",
    "port":2,
    "address_width":7,
    "freq":200000,
    "mode":1,
    "dev_addr":160
  }

应用示例

  1. 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 at24c32。
  2. 编写测试 index.js 文件。
var at24c32 = require('at24c32');
var handle = new at24c32('at24c32');

var i = 0;
for(i=0;i<16;i++){
    var page = 1;
    var addr = i%256;
    var dest = page << 8;
    dest = dest | addr;
    handle.write_one(i,i+1);
}


for(i=0;i<16;i++){
    var page = 1;
    var addr = i%256;
    var dest = page << 8;
    dest = dest | addr;
    var recv = handle.read_one(i);
    console.log('index:'+i+' data:'+recv);
}

运行验证

更新代码后,在终端串口能看到对应的时间打印值:

1.png | center | 747x372