M24C02和AT24C02读写失败的原因

这篇具有很好参考价值的文章主要介绍了M24C02和AT24C02读写失败的原因。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


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

at24c02写不进去,24c02,arm开发

解决办法:

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

我的是模拟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 high
 	delay_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 high
     delay_us(4);
    IIC_SCL=1; 
    delay_us(4);           // 添加延时         
    IIC_SDA=1;//发送I2C总线结束信号                              
}

多说一句:为了解决24c02问题去搜索博文看原因,博主还要订阅收费。开源精神哪里去了。像这种不是什么高科技的有什么好订阅的。个人意见。文章来源地址https://www.toymoban.com/news/detail-531941.html

到了这里,关于M24C02和AT24C02读写失败的原因的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【【51单片机的AT24C02】】

    AT24C02 先介绍一下存储器的知识 这里的重点肯定是I2C总线 存储器 分为2种 一种是易失性存储器RAM 还有一种是非易失性存储器ROM RAM分为 SRAM 和 DRAM Mask ROM PROM EPROM E2PROM 这几个是一个家族的 从创建之后 不能修改 然后 只能写一次 再而发展成可擦除可编程存储器EPROM E2PROM 电可擦

    2024年02月16日
    浏览(46)
  • STM32速成笔记—EEPROM(AT24C02)

    🎀 文章作者:二土电子 🌸 关注文末公众号获取其他资料和工程文件! 🐸 期待大家一起学习交流! AT24C01/02/04/08/16…是一个1K/2K/4K/8K/16K位电可擦除PROM,内部含有128/256/512/1024/2048个8位字节,AT24C01有一个8字节页写缓冲器,AT24C02/04/08/16有一个16字节页写缓冲器。电压可允许低

    2024年02月11日
    浏览(63)
  • 蓝桥杯单片机之AT24C02模块的使用

    EEPROM EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种 掉电后数据不丢失 的存储芯片。 可以参考ROM、PROM、EPROM、EEPROM、Flash ROM的区别 AT24C02 AT24C02 提供2048 位串行电可擦除可编程只读存储器(EEPROM ),内部有256个字,每个字8位,即2k Bit。通过

    2023年04月20日
    浏览(54)
  • AT24C02(I2C总线)通信的学习

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 学习AT24C02(I2C总线)芯片 RAM()存储速度较快,但容易丢失数据。ROM(Read Only Memory)存储速度较慢,但掉电不丢失数据。在使用时需要两者结合先存入RAM再转存到ROM中。 AT24C02是一种可以实现掉电不丢失

    2024年02月20日
    浏览(49)
  • STM32MX配置EEPROM(AT24C02)------保姆级教程

    ———————————————————————————————————— ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。 ⏩最近在开发一个STM32H723ZGT6的板子,使用STM32CUBEMX做了很多驱动,包括ADC、UART、RS485、EEPROM(IIC)、FLASH(SPI)等等。

    2024年02月16日
    浏览(54)
  • STM32-I2C通信在AT24C02的应用

    AT24C02是一种失去电源供给后依旧能保持数据的储存器,常用来储存一些配置信息,在系统重新上电之后也可以加载。它的容量是2k bit的EEPROM存储器,采用I2C通信方式。 AT24C02支持两种写操作:字节写操作和页写操作。本实验中我们采用的是字节写操作,就是一个地址一个数据

    2024年02月09日
    浏览(53)
  • 51单片机——模拟I2C总线与AT24C02通信

    目录 一、写在前面 二、功能描述 三、主要模块介绍 3.1 I2C总线介绍 3.2 I2C总线协议 3.2.1数据有效规定 3.2.2起始信号和停止信号  3.2.3 发送应答和接收应答 3.2.4 主机发送一个字节和接收一个字节 3.3 AT24C02介绍 3.3 字节写和随机读 四、测试文件test.c 五、现象描述 AT24C02芯片有I

    2024年02月14日
    浏览(56)
  • (十一)51单片机——用AT24C02实现存储秒表数据(附成果展示)

    目录 存储器 RAM ROM 存储器简化模型 AT24C02介绍  引脚及应用电路  内部结构框图 I2C总线 I2C总线介绍 I2C电路规范 I2C时序结构 起始条件 终止条件 发送一个字节  接受一个字节  发送应答  接收应答 I2C数据帧 AT24C02数据帧 字节写 随机读 代码部分 遇到的问题  代码  硬件  

    2024年04月25日
    浏览(41)
  • STM32软件模拟实现IIC写入和读取AT24C02(STM32CubeMx配置)

    IIC:Inter Integrated Circuit,集成电路总线,是一种 同步 串行 半双工 通信总线。 在使用IIC时分为硬件IIC以及软件IIC,下图为两者的区别: 在使用IIC前先来了解一下IIC总线结构图,即下图: 从图中可以看出IIC有两个双向信号线,一根是数据线SDA,一根是时钟线SCL,并且都接上拉

    2024年02月04日
    浏览(62)
  • 6、单片机与AT24C02的通讯(IIC)实验(STM32F407)

    IIC简介 I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。 它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。 IIC是半双工通信方式。 多主机

    2024年02月20日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包