关于STM32F103单片机的IIC通信的一点浅显讲解和入门EEPROM(24C02)

   首先我们应该了解的是IIC是两线串行总线(数据线SDA和时钟线SCL)。它主要是在CPU与被控IC之间、IC与IC之间双向传送。高速的IIC一般可达到00KHZ以上,一般的则在100KHZ。
   了解了IIC的一些定义后,要想写代码必须知道它的时序。一、空闲状态,IIC在空闲状态时SDA和SCL都是处于高电平。二、开始信号,当SCL电平不发生变化的时候,SDA由高电平变为低电平的这一个过程是开始信号。三、停止信号,当SCL电平不变的时候,SDA有低电平变为高电平的这一过程是停止信号。四、应答信号,当8个时钟脉冲完的时候,第九个时钟脉冲来到之前SDA变为低电平,直达第九个时钟脉冲结束。(八个时钟脉冲也可以理解为一个字节的数据传输完成)五、数据的有效性,当SCL变为高电平之前,SDA上的数据(0或1)应该提前准备好,且在SDA变为低电平之后才可变化。
   如果理解了上面的文字,那么你就理解了IIC了,将时序理解透彻,那么就可以开始写IIC的程序了。
   学会了IIC这种通信自后,我们应该需要把他利用起来,比如数据传输后我们应该放到那里。在标题中我们可以看到一种EEPROM(24C02)。24C02中的02表示可存储2K的数据,256字节的数据。而他的设备地址则只由你需要读写而改变,因为容量固定,地址也固定了(1 0 1 0 A2 A1 A0 R/W)如果是读则最后位为1,若是写最后位为0。上面换成16进制则是0XA1/0XA0。
   以上就是24C02的基本知识,如果想要写程序,那么必须知道的是它的工作时序。24C02的时序就三个,一个是写,一个是读,还有一个是检测。掌握了这三个就意味着掌握了24C02。
   首先是写时序:1.起始信号;2.写写的设备地址;3.等待应答;4.写读的地址5.等待应答6.写数据7.等待应答;8.停止信号。
   其次是读时序:1.起始信号2.写写的设备地址;3.等待应答;4.写读的地址5.等待应答6.起始信号7.写读的设备地址8.等待应答9.写数据10.停止信号
   最后是检测时序:先读取地址255的数据,若为0x55则检测通过,若不等于就写一个0x55给地址255,然后在读取地址为255的数据,若为0x55则通过,否则返回检测失败。(当然0x55只是我写的一个数据而已,也可以不用这个)
   综上,所有的理论知识都已经写完。若有错误,请联系我改正。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值