• 已解决 41319 个问题
  • 已帮助 5882 位优秀工程师

74HC165编程 IIC通讯

55da1e2a4ec46a28 2018-12-17 浏览量:922

74HC165的驱动程序已经编写完毕,要通过IIC通讯,请问iic.c中应该包含几个函数?IIC_INIT IIC_STARTIIC_STOPIIC_SENDIIC_REC这几个函数都要包含吗,在74HC165.c和main.c中如何调用??

求大神指教!!!

单片机 AVR单片机
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 看你的情况应该是使用 IO 口模拟 IIC 通信,

    1,IO 需要初始化,应该是对应的 IIC_INIT 

    2,IIC 需要产生起始终止信号,应该是对应你的 IIC_START  IIC_STOP

    3,然后是发送 接受数据的 IIC_SEND   IIC_REC

    4,还需要应答  。

    每一次 通信 ,起始,发送,应答,终止,都是需要的,

    以上是 iic 协议的内容,要和 74HC165 通信,还需要 74HC165 这个芯片初始化,这个芯片的收发函数。


    • 发布于 2018-12-17
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 您是自己模拟的IIC协议吗?

    我一般会写两个.c文件

    一个是IIC协议,包含您提到的 Init、Start、Stop和ACK等函数。

    另一个是外设的驱动代码。比如AT24CXX存贮芯片的驱动

    它只对外部提供读字节、写字节等函数。

    对于main.c文件来说,它只关心外设的驱动,不关心IIC协议。所以IIC的函数不必暴露给main

    • 发布于2018-12-17
    • 举报
    • 评论 2
    • 0
    • 0
55da1e2a4ec46a28 回复了 Spirit :我用的是硬件I2C。请问i2c.c要用到哪些函数呢,具体怎么用?? 回复
55da1e2a4ec46a28 回复了 Spirit :我用的是硬件I2C。请问i2c.c要用到哪些函数呢,具体怎么用?? 回复

  • 如果单片机有硬件i2c就用硬件驱动,这样不太会出问题
    • 发布于2018-12-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 看你用的是硬件I2C还是软件I2C了,如果是硬件I2C,那这几个库函数肯定是要包含的
    • 发布于2018-12-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个主要看你I2C代码,如果是模拟I2C的话按照时序翻转GPIO即可,不需要设置啥I2C有关的寄存器,也就没有那么多源文件和头文件。

    • 发布于2018-12-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 最好是不要用硬件的IIC,用软件模拟IIC就不会出现这样的情况
    • 发布于2019-01-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果你的芯片是有硬件IIC的话可以用硬件IIC来操作,这样调用库来控制
    • 发布于2019-01-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个用你的IIC协议去通信就可以了,找到对应的接口时序
    • 发布于2019-01-26
    • 举报
    • 评论 0
    • 0
    • 0

74HC165编程 IIC通讯