【N32L40X】学习笔记14-在RT-thread系统中读取eeprom数据

eeprom 说明

eeprom介绍

  • AT24C01A,1K串行EEPROM:内部组织16页8字节,1K需要一个7位数据字地址进行随机字寻址。
  • AT24C02,2K串行EEPROM:内部组织32页8字节,2K需要一个8位数据字地址进行随机字寻址。
  • AT24C04,4K串行EEPROM:内部组织32页,每个16字节,4K需要一个9位的数据字地址进行随机字寻址。
  • AT24C08A,8K串行EEPROM:内部组织64页,每个16字节,8K需要一个10位的数据字地址进行随机字寻址。
  • AT24C16A,16K串行EEPROM:内部组织128页,每个16字节,16K需要一个11位的数据字地址进行随机字寻址。

设备寻址

1K、2K、4K、8K和16K EEPROM设备都需要一个启动条件下的8位设备地址字,以使芯片能够进行读取或写操作

设备地址字由前四个最重要位的强制性零序列组成,如图所示。这是所有EEPROM设备所共有的情况。

接下来的3位是1K/2K EEPROM的A2、A1和A0设备地址位。这3位必须与它们对应的硬线输入引脚进行比较

4K EEPROM仅使用A2和A1设备地址位,而第三位是内存页地址位。这两个设备地址位必须与它们对应的硬线输入引脚进行比较。A0引脚没有连接。

8K EEPROM只使用A2设备地址位,接下来的2位用于内存页面寻址。A2位必须与它相应的硬线输入引脚进行比较。A1和A0引脚没有连接。

16K不使用任何设备地址位,而是将3位用于内存页面寻址。这些在4K、8K和16K设备上的页面寻址位应该被认为是下面的数据字地址中最重要的位。A0、A1和A2的大头针并不一致

在这里插入图片描述

rtt配置

硬件连接

在这里插入图片描述

iic配置

在这里插入图片描述

at24c02的驱动配置使能

编写eeprom测试源码
在这里插入图片描述

测试代码

 at24cxx_device_t dev = at24cxx_init("i2c1",0); //这里的地址写零,应为我的a2 a1 a0 接了gnduint8_t buff[100];uint8_t buff1[100];for(int i=0; i<100; i++)buff[i]=i+'a';at24cxx_page_write(dev,0,buff,50);rt_thread_mdelay(10);at24cxx_page_read(dev,0,buff1,50);rt_kprintf("\r\nread:");for(int i=0; i<50; i++){rt_kprintf("%d ",buff1[i]);}rt_kprintf("\r\n");

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/55642.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

svn工具使用

svn 介绍 解决之道&#xff1a; SCM&#xff1a;软件配置管理 所谓的软件配置管理实际就是对软件源代码进行控制与管理 CVS&#xff1a;元老级产品 VSS&#xff1a;入门级产品 ClearCase&#xff1a;IBM 公司提供技术支持 SVN&#xff1a;主流产品 什么是SVN&#xff…

使用gitee创建远程maven仓库

1. 创建一个项目作为远程仓库 2. 打包项目发布到远程仓库 id随意&#xff0c;url是打包到哪个文件夹里面 在需要打包的项目的pom中添加 <distributionManagement><repository><id>handsomehuang-maven</id><url>file:D:/workspace/java/2023/re…

[openCV]基于拟合中线的智能车巡线方案V1

import cv2 as cv import os import numpy as np# 遍历文件夹函数 def getFileList(dir, Filelist, extNone):"""获取文件夹及其子文件夹中文件列表输入 dir&#xff1a;文件夹根目录输入 ext: 扩展名返回&#xff1a; 文件路径列表"""newDir d…

侯捷 C++面向对象编程笔记——9 复合 委托

9 复合 委托 9.1 Composition 复合 类似于c中结构里有结构——class里有class deque 是一个已经存在的功能很多的类&#xff08;两头进出的队列&#xff09;&#xff1b;利用deque的功能来实现queue的多种操作 该例只是复合的一种情况——设计模式 Adapter 9.1.1 复合下的构造…

第一课-前提-Stable Diffusion 教程

学习 SD 的前提是电脑配置! SD 参考配置: 建议选择台式机 i5 CPU, 内存16GB,N卡 RTX3060, 8G显存以上的配置(最低配) 在此基础上的配置越高越好。 比如,cpu i7 更好,显卡能有 RTX4090 更好,32显存要能有最好,嘿嘿嘿。 如何查看自己的显卡配置? Win+R 输入 “dxdiag…

编译LightGBM错误处理记录

在LightGBM源码中新建文件夹build&#xff0c;然后在build目录下运行命令 cmake -A x64 -DUSE_GPU1 -DBOOST_ROOTC:\local\boost_1_82_0 -DBOOST_LIBRARYDIRC:\local\boost_1_82_0\lib64-msvc-14.3 .. 报错 错误原因&#xff1a; miniconda3\Library\lib\cmake\中boost版本是…

基于facenet+faiss开发构建人脸识别系统

facenet是一款非常经典的神经网络模型&#xff0c;它可以直接学习从人脸图像到欧几里德空间的映射(直接将人脸映射到欧几里得空间)。在欧几里德空间中&#xff0c;距离直接对应于人脸相似性的度量。一旦这个空间产生&#xff0c;使用标准技术&#xff0c;将FaceNet嵌入作为特征…

车载软件架构 —— 车载软件安全启动关键技术解读

车载软件架构 —— 车载软件安全启动关键技术解读 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生…

【java】继承

java继承 继承的基本概念super、this构造方法 继承的基本概念 面向对象中有3个重要的特征&#xff1a;继承、封装、多态。继承就是子类继承父类的特征和行为&#xff0c;使得子类对象&#xff08;实例&#xff09;具有父类的实例域和方法&#xff0c;或子类从父类继承方法&…

Mac 安装不在 Apple 商店授权的应用程序

文章目录 一、场景介绍二、实操说明 一、场景介绍 在日常的工作生活中&#xff0c;发现一些好用的应用程序&#xff0c;但是出于某些原因&#xff0c;应用程序的开发者并没有将安装包上架到苹果商店。 那么这些优秀的应用程序下载安装以后就会出现如下弹框被拒之门外 二、实操…

Spring Boot读取yml或者properties配置信息

文章目录 Spring Boot读取yml或者properties配置信息方法一&#xff1a;Value获取基本信息&#xff0c;适用于少量信息方法二&#xff1a;通过注解ConfigurationProperties(prefix "spring.datasource")方法三&#xff1a;通过api Environment Spring Boot读取yml或…

Flask简介与基础入门

一、了解框架 Flask作为Web框架&#xff0c;它的作用主要是为了开发Web应用程序。那么我们首先来了解下Web应用程序。Web应用程序 (World Wide Web)诞生最初的目的&#xff0c;是为了利用互联网交流工作文档。 1、一切从客户端发起请求开始。 所有Flask程序都必须创建一个程序…