当前位置: 首页 > news >正文

【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");

在这里插入图片描述

相关文章:

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

eeprom 说明 eeprom介绍 AT24C01A&#xff0c;1K串行EEPROM&#xff1a;内部组织16页8字节&#xff0c;1K需要一个7位数据字地址进行随机字寻址。AT24C02,2K串行EEPROM&#xff1a;内部组织32页8字节&#xff0c;2K需要一个8位数据字地址进行随机字寻址。AT24C04,4K串行EEPRO…...

Python OpenCV读取并显示USB UVC摄像头

1. 安装Python&#xff0c; 略。 2. 安装 OpenCV: pip install opencv-python 3. 预览摄像头画面脚本&#xff1a; import cv2cap cv2.VideoCapture(0, cv2.CAP_DSHOW)if not (cap.isOpened()):print("Could not open video device")cap.set(cv2.CAP_PR…...

针对高可靠性和高性能优化的1200V碳化硅沟道MOSFET

目录 标题&#xff1a;1200V SiC Trench-MOSFET Optimized for High Reliability and High Performance摘要信息解释研究了什么文章创新点文章的研究方法文章的结论 标题&#xff1a;1200V SiC Trench-MOSFET Optimized for High Reliability and High Performance 摘要 本文详…...

在服务器上搭建gitlab

最终效果展示&#xff1a; 官方文档&#xff1a; 安装部署GitLab服务 1.在服务器上下载gitlab wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm rpm -ivh gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm 2.编辑站点位置 vim …...

Amazon Aurora Serverless v2 正式发布:针对要求苛刻的工作负载的即时扩展

我们非常兴奋地宣布&#xff0c;Amazon Aurora Serverless v2 现已面向 Aurora PostgreSQL 和 MySQL 正式发布。Aurora Serverless 是一种面向 Amazon Aurora 的按需自动扩展配置&#xff0c;可让您的数据库根据应用程序的需求扩展或缩减容量。 亚马逊云科技开发者社区为开发者…...

nginx的优化和防盗链 重要!!!

实验一、隐藏版本号 要把nginx的版本号隐藏起来&#xff0c;防止恶意攻击 方法一&#xff1a;修改配置文件 在http模块中加入一个命令 server_token off&#xff1b; 过程&#xff1a; 备份&#xff0c;改配置文件一定要备份 修改配置文件 在http模块中添加 server_tokens …...

十五.redis缓存穿透,击穿,雪崩

redis哨兵模式 一.缓存穿透1.概念2.解决方案1&#xff09;接口校验2&#xff09;缓存空值3&#xff09;布隆过滤器4&#xff09;实时监控 二.缓存击穿1.概念2.解决方案1&#xff09;设置热点数据永不过期2&#xff09;加互斥锁3&#xff09;”提前“使用互斥锁 / 逻辑过期4&…...

Spring源码——初识Spring容器

Spring源码之工厂&#xff08;容器&#xff09; 为什么把Spring的工厂又叫做容器呢&#xff1f; 工厂的责任是创建对象&#xff0c;但是创建完对象后还要进行存储&#xff08;针对于单例的对象来讲&#xff09;&#xff0c;以供其他地方使用&#xff0c;这就是容器。为了能存…...

arcgis--数据库构建网络数据集

1、打开arcmap软件&#xff0c;导入数据&#xff0c;如下&#xff1a; 该数据已经过处理&#xff0c;各交点处均被打断&#xff0c;并进行了拓扑检查。 2、在文件夹下新建文件数据库&#xff0c;名称为路网&#xff0c;在数据库下新建要素类&#xff0c;并导入道路shp文件&…...

华为OD机试真题【西天取经】

1、题目描述 【西天取经】 唐僧师徒四人去西天取经&#xff0c;一路翻山越岭。一日&#xff0c;师徒四人途径一个 mxn 长方形区域&#xff0c;已知 1.将取经队伍作为一个整体&#xff0c;4 人行走相同路线。 2.取经队伍的起点为该长方形区域的左上角&#xff0c;目的地为该长方…...

心电信号时域特征分析与Python实现

目录 1 引言 2 心电信号时域特征的含义 3 Python实现心电信号时域特征提取 4 结论 1 引言 心电信号是由心脏电活动引起的电信号...

认识MyBatis 之 MyBatis的动态SQL

前言 本篇介绍MyBatis里如何使用动态SQL&#xff0c;了解如何去简单使用动态标签&#xff1b;如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交流&#xff0c;共同进步&#xff01; 文章目录 前言MyBatis - 动态 SQLif标签trim标签where标签update set 标签delet…...

【项目 计网2】4.4网络模型 4.5协议 4.6网络通信的过程

文章目录 4.4网络模型OSI七层参考模型TCP/IP四层模型&#xff08;常用&#xff09;简介四层介绍 4.5协议简介常见协议UDP协议TCP协议IP协议以太网帧协议&#xff08;MAC地址封装&#xff09;ARP协议&#xff08;IP->MAC&#xff09; 4.6网络通信的过程封装分用 4.4网络模型 …...

redis入门3-在java中操作redis

Redis的java客户端 Jedis、Lettuce、Redisson、以及spring提供的spring data redis Jedis操作redis //添加依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.8.0</version> </dep…...

网络安全预警分类流程

网络安全预警指南 随着信息技术的广泛应用与快速发展&#xff0c;传统业务与信息系统的融合程度不断加深&#xff0c;网络安全对国家政治、经济、文化、公共服务活动的影响进一步增大。网络安全形势日趋复杂&#xff0c;安全威胁不断变化&#xff0c;利用网络漏洞、恶意程序从…...

SpringBoot复习:(20)如何把bean手动注册到容器?

可以通过实现BeanDefinitionRegistryPostProcessor接口&#xff0c;它的父接口是BeanFactoryPostProcessor. 步骤&#xff1a; 一、自定义一个组件类&#xff1a; package com.example.demo.service;public class MusicService {public MusicService() {System.out.println(&q…...

VLT:Vision-Language Transformer用于引用的视觉语言转换和查询生成分割

摘要 在这项工作中&#xff0c;我们解决了引用分割的挑战性任务。引用分割中的查询表达式通常通过描述目标对象与其他对象的关系来表示目标对象。因此&#xff0c;为了在图像中的所有实例中找到目标实例&#xff0c;模型必须对整个图像有一个整体的理解。为了实现这一点&#…...

【开源项目--稻草】Day04

【开源项目--稻草】Day04 1. 续 VUE1.1 完善VUEAJAX完成注册功能 Spring验证框架什么是Spring验证框架使用Spring-Validation 稻草问答-学生首页显示首页制作首页的流程开发标签列表标签列表显示原理 从业务逻辑层开始编写控制层代码开发问题列表开发业务逻辑层开发页面和JS代码…...

【数模】奇异值分解SVD和图形处理

介绍奇异值分解在图形压缩中的运用&#xff0c;并将简单介绍下Matlab对于图形和视频的处理 一、奇异值分解介绍 1.1 基本概念 奇异值分解(Singular Value Decomposition&#xff0c;以下简称SVD)是线性代数中一种重要的矩阵分解&#xff1a; U和V都是正交矩阵∑是奇异值矩阵&…...

mongodb-win32-x86_64-2008plus-ssl-3.6.23-signed.msi

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>cd C:\MongoDB\Server\3.6\binC:\MongoDB\Server\3.6\bin> C:\MongoDB\Server\3.6\bin> C:\MongoDB\Server\3.6\bin>mongod --dbpath C:\Mongo…...

华为Euler系统忘记密码之密码重置

目录 1. 进入GRUB引导菜单编辑模式2. 指定系统在启动时使用/bin/sh作为初始化进程3. 修改密码3.1 重新挂载文件系统&#xff0c;使文件系统可写3.2 修改密码3.3 重新标记文件的安全上下文 4. 开机输入修改的密码正常登录 1. 进入GRUB引导菜单编辑模式 启动openEuler&#xff0…...

Java-多线程-深入理解ConcurrentHashMap

目录 什么是ConcurrentHashMap&#xff1f;为什么有ConcurrentHashMap&#xff1f;和HashMap区别示例代码对比 JDK7和JDK8中ConcurrentHashMap整体架构的区别JDK7中JDK8中 ConcurrentHashMap的基本功能在性能方面的优化使用到的技术-CAS概念说明比较并交换的过程如下&#xff1…...

没有配置redis但是报错连接redis失败

问题 没有配置redis但是报错连接redis失败 检查maven配置是否引入了redis依赖&#xff08;可能是传递依赖&#xff0c;最好检查引进来的公共工程 解决办法 只需要在该工程application.yml文件中配置一下 redis就好&#xff0c;或者移除redis依赖 spring:redis:password: hos…...

剑指 Offer 04. 二维数组中的查找

力扣 在一个 n * m 的二维数组中&#xff0c;每一行都按照从左到右 非递减 的顺序排序&#xff0c;每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 示例: 现有矩阵 matrix…...

【工作中问题解决实践 九】Spring中事务传播的问题排查

最近在工作中遇到了两个关于事务操作的问题&#xff0c;顺便就着这两个问题又回顾了一遍Spring的事务相关的操作&#xff0c;想着一次性把这个问题研究明白了&#xff0c;后续使用事务的时候也能踏实点&#xff0c;让事务发挥真实的作用 什么是事务&#xff1f;什么是事务管理…...

【导出Word】如何使用Java+Freemarker模板引擎,根据XML模板文件生成Word文档(只含文本内容的模板)

这篇文章&#xff0c;主要介绍如何使用JavaFreemarker模板引擎&#xff0c;根据XML模板文件生成Word文档。 目录 一、导出Word文档 1.1、基础知识 1.2、制作模板文件 1.3、代码实现 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;创建Freemarker工具类 &…...

Devart dbForge Studio for MySQL Crack

Devart dbForge Studio for MySQL Crack dbForge Studio for MySQL是一个用于MySQL和MariaDB数据库开发、管理和管理的通用GUI工具。IDE允许您通过直观的界面创建和执行查询、开发和调试存储例程、自动化数据库对象管理、分析表数据。MySQL客户端提供了数据和模式比较和同步工具…...

C++、Java、JavaScript和python几个语句的对比介绍

C、Java、JavaScript和python几个语句的对比介绍 C、Java、JavaScript和python语言的for语句 C、Java和JavaScript的for语句的语法类似如下&#xff1a; for (初始条件; 循环条件; 循环后操作) { // 循环体代码 } 初始条件是在进入循环之前执行的语句&#xff0c;初始化循环…...

第20节 R语言医学分析:某保险医疗事故赔偿因素分析

文章目录 某保险医疗事故赔偿因素分析源码源文件下载某保险医疗事故赔偿因素分析 我们分析数据集“诉讼”的第一个方法是确定样本数量、变量类型、缩放/编码约定(如果有)用于验证数据清理。 接下来,数据集看起来很干净,没有缺失值,并且对于分类变量,将编码约定替换为实际…...

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…...