IIC控制设计

本博文完全参考小梅哥(下面是链接)

IIC协议详解+Uart串口读写EEPROM

IIC模块是比较好理解,但个人觉得比较难实现。这里的读为随机读数据,即自己可以指定读取那一个数据。若不进行虚写操作,就会造成独处的数据其实是上次写入的地址。同时读取后数据指针加一。
接下来简单分析小梅哥代码的思想。(魔咒呀魔咒~)

IIC简述

一共有两根线进行控制
sda为inout类型,数据总线
scl为时钟总线

  1. 最多一次只能写入16 bytes的数据(页写)
  2. 时钟周期在100K - 400K之间

时序描述


开始位与停止位的时序。
2.

只有在SCL总线为高的时候,数据有效,同时不允许在电平期间改变数据。
3.

第一个八位数据的发送。
在第九个的时候,需要释放sda给其高组态。由从机响应ack。同时检测数据是否传输正确。
4.

单字节写操作
5.

随机读操作

状态机

代码实现

IIC控制设计读写EEPROM相关推荐

  1. IIC软件模拟-读写EEPROM

    这里写目录标题 1.IIC简介 2. I2C 基本读写过程 2.1.主机写数据到从机 2.2.主机由从机中读数据 2.3.读和写数据 2.4.地址及数据方向 2.5.响应信号 3.软件模拟I2C 4. ...

  2. IIC读写EEPROM

    文章目录 1.IIC协议 1.1.什么是iic 1.2.EEPROM 1.3.iic传输特点 1.4.时序特点 1.4.1.起始信号 1.4.2.停止信号 1.4.3.读操作 1.4.4.写操作 2. ...

  3. mini2440----keil for AMR之IIC读写EEPROM(AT24C08)

    mini2440----keil for AMR之IIC读写EEPROM(AT24C08) 一:EEPROM芯片介绍 在这里分析AT24C02A/AT24C04A/AT24C08A,对于其他不同型号的 ...

  4. iic获取salve设备地址_Linux下使用IIC总线读写EEPROM(读写i2c从设备通用程序)

    Linux 下使用IIC总线 读写 EEPROM by 韩大卫 @吉林师范大学 handawei@jusontech.com 转载请务必表明出处 ******************* ******* ...

  5. Verilog实现IIC协议读写EEPROM

    在FPGA设计中,IIC协议是一个十分常见的协议,因为几乎所有的EEPROM都是用这个协议进行读写的,此外,一些特殊场合,也会用到此协议.这里我首先给出IIC协议的中文标准文档的下载链接(不要积分), ...

  6. STM32硬件IIC读写EEPROM

    前面一篇写了软件模拟IIC读写EEPROM. 本篇介绍硬件IIC读写EEPROM.平台是STM32F103+AT24C04N.SDA和SCL接5K上拉电阻到3.3v. 首先介绍AT24C04N的基本特 ...

  7. STM32H7系列使用硬件IIC读写EEPROM(HAL库配置源码)

    记得在使用STM32F103系列时,好多人说其硬件IIC通讯不稳定.后来我们用到了STM32H743的单片机,使用了其硬件IIC对EEPROM进行读写.硬件IIC使用并不麻烦,而且相比于I/O模拟的I ...

  8. 【STM32】标准库与HAL库对照学习教程十三--软件IIC控制AT24C02

    [STM32]标准库与HAL库对照学习教程十三--软件IIC控制AT24C02 一.前言 二.准备工作 三.AT24C02(EEPROM)介绍 1.AT24C02简介 2.引脚功能 3.设备地址 四. ...

  9. STM32学习笔记(9)——(I2C续)读写EEPROM

    STM32学习笔记(9)--(I2C续)读写EEPROM 一.概述 1. 背景介绍 2. EEPROM简介 二.AT24C02--常用的EEPROM 1. 电路原理图 2. 写操作 (1)按字节写操作 ...

最新文章

  1. JAVA IO操作中的IN和OUT问题
  2. 如果算力足够根本不需要标注太多数据
  3. 原生javascript
  4. POJ - 3261 Milk Patterns(二分+后缀数组)
  5. HDU - 4784 Dinner Coming Soon(bfs+动态规划+优先队列)
  6. 【音频技术:逼近人耳极限】
  7. Unity中Instantiate一个prefab时需要注意的问题
  8. excel进销存管理系统_【实例分享】勤哲Excel服务器做企业进销存财务管理系统...
  9. Python 使用ntplib库同步校准当地时间的方法 (NTP)
  10. arduino水温度传感器数字显示_液晶显示屏应用示例以及程序详解
  11. Python 加载二进制文件到 CkByteArray 对象
  12. 以前收集到的PHP总结笔记
  13. Rust : rust-bindgen中ffi中类型转换
  14. 安徽2022农民丰收节 国稻种芯:郑栅洁启动舒城主场活动仪式
  15. 骐俊CAT1模组 - MQTT接入腾讯云平台篇
  16. 居中小圆点 html,居中小圆点怎么打出来
  17. 18650锂电池知识全解析
  18. python thinker_Thinker
  19. 全国省级常住人口搜集指南
  20. 【drawio笔记】向ERD表,列表和UML类添加行

热门文章

  1. ubuntu系统没有声音解决方法
  2. error Microsoft Visual C++ 14.0 is required 解决方案
  3. 解决Linux下pcieport 0000:00:1c.5问题导致的系统根目录/磁盘空间不足
  4. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查
  5. 谷歌chrome浏览器提示“喔唷 崩溃啦”的解决方案
  6. ImportError: cannot import name ‘render_to_response‘ 解决方法
  7. webpack4.0.1安装问题及解决方法
  8. 在多行中查找和替换vim中的字符串
  9. win11如何下载游戏版 Windows11下载游戏版的步骤方法
  10. js 中meta 移除head_浅析JS中数据结构