如何通过 I2C 在树莓派和 PIC 设备 (PIC16F18325) 之间进行通信



我正在尝试通过I2C从PIC设备与Raspberry pi 3B +通信。
我的 PIC 设备PIC16F18325

首先,我使用 MCC(mplab 代码配置(生成了 i2c 库。 树莓派设置为主设备,PIC设备设置为从设备。

问题我想将数据
从从服务器传递到主服务器,但我不知道如何使用生成的库。
我应该如何在main.c中使用i2c1_slave.h库?

我的代码在这里。

  • 主.c

  • 从 MCC 生成的库

> I2C 是具有至少一个主站和一个从站的双向总线。树莓派上的程序应该提供 I2C 主函数,PIC 从机上的程序应该提供函数。I2C 主机始终启动数据交换。

为了与从站交换数据,主站发送一个字节,其中包含从站的地址以及它是要发送更多字节还是等待接收。当从站收到该字节时,它应该通过发送或接收来做出相应的响应。

只有当主站(RPi(按照包含从机地址的I2C启动条件在总线上放置一个字节时,才会在从站(PIC(上触发中断。

中断服务例程必须处理收到的字节并为下一个字节做准备。读/写位确定响应和下一步操作,以及为下一次中断做准备的内务管理。从站执行的确切步骤必须与主站的期望相匹配,反之亦然。

相关内容

  • 没有找到相关文章

最新更新