注释
我将其添加到路线图中。您所说的大多数 I/O 都使用中断。我看到有一个中断引脚选项。我得再看看。 您对如何将其添加到 cpu_map.h 和 config.h 有任何建议吗? |
另一种选择是 Microchip 的这款芯片,它有两条中断线,一个用于每个 8 针端口。多消耗一个 ESP32 引脚,但提供更多灵活性: 直到现在我还没有看代码。我的初步印象和想法:
大部分工作似乎是为 GPIO 处理(pinMode 等)创建一个抽象层并为 IO 扩展器实现 I2C 协议。 |
我从未使用过它,但我一直在寻找 I2C IO 扩展器并遇到了这些: Digikey 以 2.55 美元的价格出售 Sparkfun 有一个分线板,也有代码。 |
便宜的 PCF8575 作为端口扩展器怎么样?那里有很多芯片和模块,并且在简单性方面几乎是黄金标准。 http://www.ti.com/lit/ds/symlink/pcf8575.pdf 此外,端口扩展器可用于释放 i/o 以在 ESP32 上进行额外的步进/dir 驱动,诸如终点站或主轴速度的反馈进入扩展器。 |
最后的人都来到PLC。这就是为什么我试图用这种模块化设计来解决所有这些 I/O 问题。 |
特克纳普斯塔德 评论 2018 年 11 月 8 日
我建议在卡中添加一个 I2C I/O 扩展器,以提供更大的灵活性并解决使用 SD 卡等时的限制。TI 的示例。
TCA9555 16bit I2C I/O 扩展器
这增加了 16 条 I/O 线,仅使用 ESP32 板上的 3 个引脚(SDA、SCL 和一个中断引脚),这些引脚可承受 5V、ESD 保护并提供开漏输出。非常适合限位开关、雾、探头、门等。
它只增加了大约 1.50 美元的 BOM 成本。