|
本帖最后由 Super169 于 2018-9-2 14:54 编辑
早前用 ESP8266 做了一个项目, 当中因为需要多个串口, 使用了 espsoftwareserial 库, 并修改了可支援单线串口.
最近尝试转用 ESP32, 希望可以提供更多的 GPIO.
看到已有 arduino framework 的支援, 初时以为可以很容易转过去.
但一开始, 就被软串的库卡住了. 虽然 ESP32 号称有三个 UART, 但可以成功使用的只有两个.
自己尝试用 UART2, 惨不忍睹, 收发的资料都是垃圾 (就是已經轉用到別的 GPIO 也不行.), 可以可说是完全不能用.
在网上找到的例子, 都只用了当中两个, 就连一些 ESP32 的硬件, 都找不到有全用三个的例子.
在网上找到了几个库, 都是改自 ESP8266 的, 可惜没有一个真的完全可用.
暂时只可以勉强作为发出 (发大量数据时, 还是有很多杂讯), 但接收时都会死机.
网上找了一段日子, 看似是 ESP32 的中断还没处理好, 接收是靠中断作开始的.
由於要连接总线舵机, 单线串口是必需的, 软的不行, 只可以硬来, 按网上找到的简单电路, 用 74HC04 + 74HC126 把其中一个 UART 转成单线通讯.
但串口还是不足, 自己心想, 如果 OneWire 可以直接在串口通讯就好了. 只可惜自己能力有限, 还是做不到.
从另一个方向想, 既然市场上有不少单线串口的东西, 不知是否有简单的芯片, 可以作通讯之用, 但还是找不到有类似的东西.
所以, 想请教一下, 大家有用过 ESP32 的软串口吗? 有没有什麽测试过可用的库?
或者, 有没有其他简单的方案, 可以把其他 GPIO 用作串口通讯?
|
|