pic - PIC18F26K83 支持多少个 SCL 和 SDA 引脚?
问题描述
我将使用 PIC18F26K83 作为主机,我将有 4 个不同的从机与我的主机通信。在 pps 映射的数据表中,默认情况下仅给出了 I2C1 数据输入和 I2C2 数据输入引脚。所以我开始认为,这个 MCU 只支持 2 种不同的 I2C 通信(可能我错了)。这个 MCU 是否有限制,例如我可以分配多少个 SDA 和 SCL 引脚?我可以有 4 个不同的从机,这意味着我可以有 4 个输入和 4 个输出引脚吗?
解决方案
如数据表中所述,PIC18F26K83 仅支持一个 I2C。通过 PPS(外设引脚选择)寄存器 I2C1SCLPPS 和 I2C1SDAPPS,您可以选择 MCPu 的任何 I/O 引脚。默认情况下,Pin14 定义为 SCL1,Pin15 定义为 SDA1。
如果您想与 4 个 I2C 从机通信,则任何从机都需要 EN(启用)引脚。使用此 EN 引脚,您应该在通信时选择从机。通常是单个 I2C 主机能够与多达 10 个从机进行通信。
推荐阅读
- javascript - 使用 D3 确定选择/选项
- android - 使用 lambda 创建回调
- python - 为什么在天文学中从地球坐标转换到银河中心坐标不能保持距离?
- c++ - unsigned int 与 unsigned long 都是 32 位的,但我不能在不强制转换的情况下混合它们......为什么?
- python-3.x - 尽管采用随机数据,拟合优度始终为零?
- javascript - 当我在页面上和页面外有链接时,如何使用 Scrollspy?
- swift - 附加到 AVAssetWriterInputPixelBufferAdaptor 失败
- sqlite - System.data.Sqlite:无论使用 Query 还是 NonQuery,都返回受影响的行数
- python - 如何在 NiftyNet 中训练数据
- reporting-services - 如何根据参数过滤tablix,但当参数为空时不过滤?