• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

sim32使用I2C时一定要加延时吗

dep36 2018-03-01 浏览量:4021
听说sim32使用I2C时要加延时,要不然会有数据丢失,这是什么情况?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 硬件IIC  时序上不用延时,模拟IIC时序由于IO速度高 所以需要延时。其他地方延时根据需要而定
    • 发布于 2018-03-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :https://www.winsen-sensor.com/d/files/semiconductor/mq-3b.pdf 回复

其他答案 数量:19
电子老工程师 回复了  :https://www.te.com.cn/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Customer+Drawing%7FC-2377780%7FA3%7Fpdf%7FEnglish%7FENG_CD_C-2377780_A3.pdf%7F2377780-1 回复

  • 要看从器件数据手册上的时序确认延时必须大于多少时间不然不能正常通讯
    • 发布于2018-03-01
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :实物丝印与原厂文件不相符,确认丝印错误,物料引脚氧化不良。 回复

  • 要看延时加到什么地方,有什么作用,有理有据。IO模拟IIC时,为了保证其时序,肯定要用延时来做。从设备启动慢,主设备等待期间,也要加延时。诸如此类,关键看位置和目的!
    • 发布于2018-03-01
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :型号中有P和没P.功能不一样,TLV62568P有电源良好开漏输出引脚,有电源。TLV62568没有 回复

  • I2C极速模式也只有400kbit/S,加延迟是必须的,根据协议,在合适的地方加一段延时,才可以保证通信数据不丢失
    • 发布于2018-03-01
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :NC7S14M5X-SF500948非原厂标准型号,尾缀资料没有查到 回复

  • 延时是为了对应时序的
    • 发布于2018-03-01
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :安装方式,000E是插件,-500E:是贴片 回复

  • 肯定要加的,时序要求的几微秒延时。

    • 发布于2018-03-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 当然要加延时,因为I2C对时序要求很严格,而且I2C通信速率并不高,所以需要加延时确保通信正常。
    • 发布于2018-03-01
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :三个型号同系列,共用同一份datasheet 回复

  • SIM32是STM32吗?不管是什么芯片,不管什么协议,都需要按照协议的时序编写驱动,I2C协议的时序是有最小时长要求的,所以必须要加延时来满足I2C的时序要求才能正常通讯。
    • 发布于2018-03-01
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :型号错误。请确认。 回复

  • 不清楚具体协议是怎么写的,不过肯定要根据从机的器件手册描述每个时序的要求来控制时间。就像下面这个是ds3231的器件,从上升沿允许的跳变时间、开始信号与时钟跳变之间的最短/最长时间等等都有给出参数。但实际上,主流的例程都是一些比较低频的通讯,一般都会满足这些参数。如果是自己编写协议就要仔细阅读数据手册。

    1.png

    • 发布于2018-03-01
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :XCF16PVO48C标椎型号。 尾缀 0973原厂没有这个型号。 回复

  • GPIO模拟时,要加延时,是为了与IIC的协议进行匹配。
    硬件IIC使用HAL库可以规避原有的bug问题,不用加延时。
    • 发布于2018-03-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :知识库已有介绍,请查阅
回复

电子老工程师 回复了  :制造商 Texas Instruments 制造商产品编号 TUSB213QRGYTQ1 回复

  • 最好加上延时,不然传输速度太快,从设备反应不过来的话,就会造成传输失败 了。
    • 发布于2018-03-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :参考:VLP-04V 回复

  • IIC是有时序要求的,太快了硬件来不及接收数据
    • 发布于2018-03-02
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :关于您的问题,INA210CIDCK 和INA210BIDCK ,C可以替代B。 因为C的gain error精度比B高。 回复

  • 硬件IIC的话用中断方式可以避免暂时,查询方式时如果fifo满了当然是要延时的,不延时也没啥事可做,软实现的话还是要延时的,因为协议时间要求是有标准的
    • 发布于2018-03-03
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32使用硬件I2C直接调库函数编程就行,模拟I2C需要模拟时序,不存在延时的问题
    • 发布于2018-03-03
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :焊盘的引脚数量不同,ESL参数值不同。 回复

  • 如果是STM32的硬件I2C接口,那就不需要加延时,库函数就搞定了;如果是模拟,那就得加。
    • 发布于2018-03-05
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :TJA1042T/3 已经停产。 TJA1042T/1替代系列。 回复

  • 1.时序内延时:模拟I2C需要延时来模拟时序,硬件2C不需要延时。

    2.每次I2C通讯间的延时:需要针对通讯对象的说明手册来具体对待了。一般技术手册都会有详细说明。

    • 发布于2018-03-06
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :型号中有Q的是汽车级料件,尾缀X :代表包装,卷装,数量3500pcs,没尾缀:卷装,数量1000pcs 回复

  • 一般IIC器件,都有个最大通讯速度,超过这个速度就容易通讯失败了

    具体器件查看它的手册确定IIC通讯速度,然后加上合适的延时

    • 发布于2018-03-06
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :推荐型号NTMTS0D7N04CTXG onsemi 附件规格书,需要发给客户确认封装及参数是否符合设计要求 回复

  • 这要看你用的是硬件IIC还是软件IIC,硬件IIC是贞洁操作函数,不需要延时的,软件IIC的协议是要你自己写的,这个是需要加上延时的,这要根据时序图来操作
    • 发布于2018-03-07
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :6.3ZLQ10000MEFC12.5X35,Rubycon,这个是满足参数,直径最小的,没有≤8.5mm直径的,跟客户确认一下 回复

相关问题

问题达人换一批

sim32使用I2C时一定要加延时吗