zoukankan      html  css  js  c++  java
  • STM32F407 I2C 个人笔记

    源代码;https://github.com/YuQiao0303/STM32F407-Examples/tree/master/24.IIC

    概述

    • I2C (IIC, Inter-Integrated Circuit),两线式串行总线,
    • 用于连接微控制器及其外围设备。
    • 它是由数据线SDA和时钟SCL构成的串行总线
    • 在CPU与被控IC之间、IC与IC之间进行双向传送
    • IIC是半双工通信方式

    协议

    ①空闲状态
    ②开始信号
    ③停止信号

    ④应答信号

    • 发送器每发送一个字节(8位)
    • 接收器在第九个时钟脉冲前,将SDA拉低,
    • 并在该时钟的高电平期间保持稳定低电平
    • 这就是一个有效应答位ACK,表示该字节接收成功
    • 否则如果应答信号是低电平,则为非应答位(NACK),表示该字节没有接收成功

    ⑤数据的有效性

    时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

    即:数据在SCL的上升沿到来之前就需准备好。并在在下降沿到来之前必须稳定。

    ⑥数据传输

    • 在I2C总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),
    • 即在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据。
    • 数据位的传输是边沿触发。

    EEPROM(24C02)

    本次实验,利用I2C通信协议,将数据写入24C02存储芯片。

    芯片概述

    芯片读写时的地址(device address)

    芯片时序图


  • 相关阅读:
    常用数据类型占用内存大小
    A2W,W2A等的使用
    Java 注释规范
    windows WTL使用命令行参数
    C++ for循环与迭代器
    C++11 正则表达式简单运用
    LINUX部署SVN服务器
    LINUX搭建PySpider爬虫服务
    Linux常用操作指令
    Centos搭建Seafile个人网盘
  • 原文地址:https://www.cnblogs.com/YuQiao0303/p/10102572.html
Copyright © 2011-2022 走看看