I<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2C存储器读写程序设计(一)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一、硬件配置情况
在智林stm32开发板上有i2c接口的存储器24c02,存储容量好像是256个字节吧。PB6用于SCL线,PB7用于SDA线。
二、实现目标
1、熟悉I2C总线的功能、时序、数据的发送和接收方法。
2、熟悉I2C设备的选择、控制命令、数据写入和读出方法。
3、程序功能设计
(1)实现两个命令:i2cwr和i2crd。
(2)i2cwr命令输入以后进入字符输入态,将输入字符存入缓冲区,按enter键时将存储器原有数据清除,将缓冲区的数据写入;如果是esc键,则退出不作修改。
(3)i2crd命令输入后,将i2c的数据读出,并在串口终端上显示。
三、学习i2c总线中。
1、i2c工作的特点
(1)只用两根线,一根数据线,一根时钟线。
(2)在时钟高电平期间,数据线上的数据要保持不变。
(3)在时钟高电平期间,如果数据线由1变0,那是开始信号;由0变1,那是停止信号。
2、i2c的主从之分
(1)主设备负责时钟控制,起动信号和停止信号的发出。
(2)多个从设备可以通过对地址的响应来区分。
(3)一个数据的接收需要11个时钟高电平,起动、8个数据,数据接收方的地电平应答、停止位。
3、24c02的控制时序
(1)起始条件之后,发控制码和地址码。
(2)控制码:1010***RW,最低位高电平读、低电平写,等待应答。
(3)地址码:八位表示一个256字节。
(4)可以进行字节写和连续写。
(5)当前读:控制字节给出读信号。随即读:控制字节写、写地址、控制字节读。
4、stm32的i2c特点
(1)可主可从
(2)应该是使用7位地址主模式操作24c02。1010xxx作为地址码发送。地址作为数据发送。
(3)数据发送完成:TXE位被设置,收到数据:RXNE位被设置。ADDR:地址已经发送(收到确认信号)。
文章评论(0条评论)
登录后参与讨论