首页 » 科学 » 运用iic进行数据传输时经常会碰着的状况及解决办法_暗记_操作

运用iic进行数据传输时经常会碰着的状况及解决办法_暗记_操作

南宫静远 2024-09-28 03:07:27 0

扫一扫用手机浏览

文章目录 [+]

这次我们说一个在利用iic进行数据传输时常常会碰到的状况及办理办法。

首先先准备调试工具:万用表一台,示波器一台,电烙铁一台。
如果用掌握器的话只需按照寄存器的操作流程走就可以,这里不做详细赘述,我们紧张讲仿照iic须要把稳的问题。

运用iic进行数据传输时经常会碰着的状况及解决办法_暗记_操作 运用iic进行数据传输时经常会碰着的状况及解决办法_暗记_操作 科学

在程序调试前,首先确定硬件电路的精确性,iic总线为开漏输出,以是一样平常须要接上拉电阻,查找电路图,iic总线是否接上拉电阻,如果没接,一样平常都不能利用iic通信,纵然电路板显示接上了,大家还是用万用表测一下,以防万一虚焊或是其他电路故障导致总线下拉,避免不必要的麻烦。

运用iic进行数据传输时经常会碰着的状况及解决办法_暗记_操作 运用iic进行数据传输时经常会碰着的状况及解决办法_暗记_操作 科学
(图片来自网络侵删)

在确定硬件电路的精确性之后,将程序烧录到芯片中进行测试。

仿照iic主要是把稳延时时间是非,由于iic总线时序是屈服仲裁制度的,如果从机的机器周期比较慢的话,主机延时太短就会出问题,当然延时太长也不好,会导致数据传输速率变慢,这里就须要去用示波器测试了。
实在有时候也不用示波器,网上关于各个芯片iic的操作很多,大家去借鉴一下就可以,由于延时这个东西虽然主要,但是不难,以是不要摧残浪费蹂躏太多韶光在这里。

延时确定往后,就可以按照严格的iic读写时序去写了,这里我们列一个比较突出的案例iic的eeprom操作时序来解析。

示意图解释:示意图分阐述了4种不同的操作办法,例如写单个存储单元,写多个存储单元,读单个存储单元和写单个存储单元。
对付单个操作而言,上部为MCU通过I2C输出的干系指令,下部为I2C设备的相应。
例如写单个存储单元操作时,MCU发出I2C启动,设备地址,写标志位等,而I2C设备输出多个ACK。

读写如果按照以上办法去写的话,结果还是未通信,读不出芯片内部的数据。
那就须要利用示波器去抓波形丈量了,这里我说一个常常碰到的问题。

在须要从芯片读取多个字节的时候,每每会读不出来,在确定了起始旗子暗记和结束旗子暗记都没问题之后,请确定应答和无应答位的精确性。

什么是无应答:

无应答为MCU发出,无应答意为MCU不须要从机输出数据,MCU将会停滞本次I2C操作。
须要解释的是,无应答并不是一种非常情形。

以是在读操作中,后一个数据读取完成后须要主机发送一个无应答旗子暗记,见告从机数据已经读取结束,不须要再读了,发送完无应答旗子暗记后,发送停滞旗子暗记,开释总线。

本人之前做的msp430和zlg7290芯片通信,去读取显示寄存器DpRam内容时,就碰到过,可以往DpRam中写数据,也可以从键值寄存器读数据,但便是不能从DpRam中读数据,这里就可以确定,iic首先是建立通信成功了,只是时序未按照规定时序来,利用示波器抓波后得知,读取多个字节操作源码中应答和无应答的操作写反了,这些问题比较噜苏,须要抓波一个时钟一个时钟的去对照,以是大家写的时候好找可靠的资源去参照,可以节省调试的很多事情量。

嵌入式物联网须要学的东西真的非常多,千万不要学错了路线和内容,导致人为要不上去!

无偿分享大家一个资料包,

差不多150多G。
里面学习内容、面经、项目都比较新也比较全!
某鱼上买估计至少要好几十。
(点击找小助理领取)

扫码进群领资料

标签:

相关文章