74HC165的驱动程序已经编写完毕,要通过IIC通讯,请问iic.c中应该包含几个函数?IIC_INIT IIC_STARTIIC_STOPIIC_SENDIIC_REC这几个函数都要包含吗,在74HC165.c和main.c中如何调用??
求大神指教!!!
看你的情况应该是使用 IO 口模拟 IIC 通信,
1,IO 需要初始化,应该是对应的 IIC_INIT
2,IIC 需要产生起始终止信号,应该是对应你的 IIC_START IIC_STOP
3,然后是发送 接受数据的 IIC_SEND IIC_REC
4,还需要应答 。
每一次 通信 ,起始,发送,应答,终止,都是需要的,
以上是 iic 协议的内容,要和 74HC165 通信,还需要 74HC165 这个芯片初始化,这个芯片的收发函数。
您是自己模拟的IIC协议吗?
我一般会写两个.c文件
一个是IIC协议,包含您提到的 Init、Start、Stop和ACK等函数。
另一个是外设的驱动代码。比如AT24CXX存贮芯片的驱动
它只对外部提供读字节、写字节等函数。
对于main.c文件来说,它只关心外设的驱动,不关心IIC协议。所以IIC的函数不必暴露给main