M24C02和AT24C02读写失败的原因

news/2024/11/7 7:30:13/


最近做项目发现换了个st 的24c02 ,导致 24c02 读写失败。一般不认真看规格书,很难发现问题根源。原来是停止信号时序问题。脸都搞绿了,后来还怀疑是芯片不良导致了,换了几个芯片还是一样的问题。芯片厂家不厚道。没意思。

解决办法:

代码如下,恭喜有缘人少走一个星期的弯路。留下好评。

我的是模拟i2c ,其他读写函数都不用变,只需要改停止信号的的时序即可。

原来的停止信号:

//产生IIC停止信号
 

//产生IIC停止信号
void IIC_Stop(void)
{SDA_OUT();//sda线输出IIC_SCL=0;IIC_SDA=0;//STOP:when CLK is high DATA change form low to highdelay_us(4);IIC_SCL=1; 					IIC_SDA=1;//发送I2C总线结束信号delay_us(4);							   	
}

修改后的停止信号时序

//产生IIC停止信号
void IIC_Stop(void)
{SDA_OUT();//sda线输出IIC_SCL=0;IIC_SDA=0;//STOP:when CLK is high DATA change form low to highdelay_us(4);IIC_SCL=1; delay_us(4);           // 添加延时         IIC_SDA=1;//发送I2C总线结束信号                              
}

多说一句:为了解决24c02问题去搜索博文看原因,博主还要订阅收费。开源精神哪里去了。像这种不是什么高科技的有什么好订阅的。个人意见。


http://www.ppmy.cn/news/753019.html

相关文章

12006.eeprom之M24C02

eeprom之M24C02笔记 1 简介2 24C02 芯片手册2.1 性能介绍2.2 信号管脚介绍2.3 存储器结构图2.4 设备操作IIC协议2.5 设备地址及读写命令控制2.6 写指令之按字节写-按页写2.7 读数据几种方式2.8 芯片命名含义2.9 裸机操作流程图3 测试方案4 应用程序开发1 简介 串行E2PROM是基于…

AWS SAP-C02 专家级认证考试指南

SAP-C02是解决方案架构师专业级认证的最新版本的考试,目前也只能报考SAP-CO2新版本,SAP-C01已经被取代。 现在也许是参加考试的最好时机,为啥这样说呢?因为题库全面改版,废弃掉老版本的题目,全部使用新的题…

SAP-C02 考试感得

亚马逊云服务架构师(专业) AWS Solutions Architect (Professional) / SAP-C02 是业界挑战度较高的认证考试之一,最近刚参加并得以通过,在此愿共享些许体得,供大家参考。 考试框架: SAP全部题目共75道&…

C02(有符号与无符号)

文章目录 1 计算机中的符号位2. 有符号数的表示法3.无符号数的表示法4. signed 和 unsigned5. 当有符号数与无符号数进行运算6. 错误的使用了unsigned6. 总结 1 计算机中的符号位 C语言中,数据类型的最高位,用于标识数据的符号。 最高位为1&#xff0c…

C02_C语言基础

1.关键字、标示符、注释 1)关键字都是小写的 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while …

Python3 爬虫学习笔记 C02 【基本库 requests 的使用】

Python3 爬虫学习笔记第二章 —— 【基本库 requests 的使用】 文章目录 【2.1】 requests 简介【2.2】 requests 基本用法 【2.3】 requests 构建 GET 请求 【2.3.1】 基本用法【2.3.2】 二进制数据抓取 【2.3.3】 添加 headers 【2.4】 requests 构建 POST 请求 【2.5】 requ…

C语言基础C02数组

1.编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排序,然后将这两个数组合并成一个升序数组 int c[5] ={0}, d[5] = {0}, e[10] = {0}; printf("请输入一个包含5个元素的数组:"); for (int i =0; i < 5; i++) { sc…

7.3基础概念/文件、文件路径/batch_size,length,total/acc、loss计算/ect

一、 一些基础术语&#xff1a; util是utility的缩写&#xff0c;意思为实用工具。一般用于描述和业务逻辑没有关系的数据处理分析工具。 logger &#xff1a;日志 meter : 记录表 使用下划线 _ 表示不需要的变量是一种常见的开发者的约定&#xff0c;&#xff08;Python 解释…