STM32中IIC协议
2015-06-19 15:47
183 查看
IIC协议:
接收器和发送器:
物理层:SCL -- 时钟总线
SDA -- 数据总线
开始条件:SCL高电平,SDA由高变低
停止条件:SCL高电平,SDA由低变高
主机:用来产生SCL(发送数据和接收数据)
从机:(发送数据和接收数据)
总线空闲态:SDA为高电平(没有设备发送开始条件)
写:
1.主机发送开始条件
2.发送从机地址(7位 )+ 写(0)
3.从机 会产生一个应答信号(一个CLK下,把SDA拉低)
4.主机得到应答信号,发送8位数据。
5.从机 会产生一个应答信号
6.重复 4.5 过程,直到主机发送停止条件
读:
1.主机发送开始条件
2.发送从机地址(7位)+读(1)
3.从机 会产生一个应答信号(一个CLK下,SDA拉低)
4.从机给主机发送8位数据
5.主机给从机发送 应答
6.从机得到应答,接着发送8位数据。
7.重复5.6过程,直到主机不发送应答信号和产生停止信号
2.AT24C02
E2PROM:存储芯片 -- 容量小,可以随机读和写,掉电不丢失
大小:2K(bit)/8=256字节
寻址:地址总线
串行:
并行:1.多大容量 -- 多少根
2.容量分为块 --
3.容量分为行和列 -- 大容量ROM
256字节=32页 *8
写:
随机写:
页写:
注意:(页写--只能写一页)
读:
当前地址读:
随机读:
顺序读:
注意: 1.读过程,发两次地址(从机地址)
2.要发送停止信号前,主机不能发送应答信号
STM32:
读写 -- 事件(每个过程都产生一个事件)
根据事件来判断操作过程是否完成。
接收器和发送器:
物理层:SCL -- 时钟总线
SDA -- 数据总线
开始条件:SCL高电平,SDA由高变低
停止条件:SCL高电平,SDA由低变高
主机:用来产生SCL(发送数据和接收数据)
从机:(发送数据和接收数据)
总线空闲态:SDA为高电平(没有设备发送开始条件)
写:
1.主机发送开始条件
2.发送从机地址(7位 )+ 写(0)
3.从机 会产生一个应答信号(一个CLK下,把SDA拉低)
4.主机得到应答信号,发送8位数据。
5.从机 会产生一个应答信号
6.重复 4.5 过程,直到主机发送停止条件
读:
1.主机发送开始条件
2.发送从机地址(7位)+读(1)
3.从机 会产生一个应答信号(一个CLK下,SDA拉低)
4.从机给主机发送8位数据
5.主机给从机发送 应答
6.从机得到应答,接着发送8位数据。
7.重复5.6过程,直到主机不发送应答信号和产生停止信号
2.AT24C02
E2PROM:存储芯片 -- 容量小,可以随机读和写,掉电不丢失
大小:2K(bit)/8=256字节
寻址:地址总线
串行:
并行:1.多大容量 -- 多少根
2.容量分为块 --
3.容量分为行和列 -- 大容量ROM
256字节=32页 *8
写:
随机写:
页写:
注意:(页写--只能写一页)
读:
当前地址读:
随机读:
顺序读:
注意: 1.读过程,发两次地址(从机地址)
2.要发送停止信号前,主机不能发送应答信号
STM32:
读写 -- 事件(每个过程都产生一个事件)
根据事件来判断操作过程是否完成。
相关文章推荐
- Keil STM32工程环境搭建
- stm32之RTC
- STM32串口操作相关事项
- [嵌入式裸机课程]Cortex-M3开发实训班
- stm32的1602操作显示
- STM32 UART DMA实现未知数据长度接收(转自amoBBs)
- STM32F429 LTDC学习笔记1
- stm32学习笔记---入门环境搭建及开发板的选用
- stm32中断服务函数的机制
- pc寄存器与可寻址空间
- 关于STM32 库函数3.5版的各种坑
- STM32 IAP
- 红龙103开发板CAN IAP
- STM32开发板点灯
- [学习笔记]使用GNU Toolchain在STM32上跑起一个最小OS
- STM32 入门教程 系统时钟 SysTick
- ATM32F10x启动文件的选择
- 如何下载STM32固件库----2015/5/29
- stm32f10x
- stm32f10x基本定时器驱动