Super169 发表于 2018-1-16 00:16:11

请问大家有做过单线串口通讯吗?

本帖最后由 Super169 于 2018-1-26 00:28 编辑

找到一个设备, 用的是单线串口, 即 Tx/Rx 都是同一线上.
每个设备有自己的ID, 由主机发出指令到指定设备.
之後, 就由从机用讯号线回传.
有点像 I2C 通讯, 但就没有时钟的讯号, 以预设的波特率进行.

有用 Arduino 做过这种通讯的朋友, 可以给我参考一下吗?谢谢.

chaqing 发表于 2018-1-16 14:21:14

:funk:学习

Super169 发表于 2018-1-16 16:13:21

在网上找了大半天, 好像 OneWire 就是做类似的东西, 也找到了一些例子, 都只连接 DS18B20 的 (奇怪, 怎麽大家都是用在它身上).
我的设备通讯是用 115200 N 8 1 的, 不知可以怎样在 OneWire 库中设定.

cciew 发表于 2018-1-17 00:58:22

光耦实现TTL串口为单线通讯电路
https://wenku.baidu.com/view/63e5f98d767f5acfa0c7cdb2.html

maxims 发表于 2018-1-17 09:47:55

你这个是自定义的通讯协议了吧。我用过这种通讯库,也自己写过。另外,你可以参考一下WS系列LED的通讯协议,叫做归零码

Super169 发表于 2018-1-17 09:56:52

本帖最后由 Super169 于 2018-1-17 10:03 编辑

maxims 发表于 2018-1-17 09:47
你这个是自定义的通讯协议了吧。我用过这种通讯库,也自己写过。另外,你可以参考一下WS系列LED的通讯协议 ...

谢谢, 我还在研究中.

我刚在网上找到一个 UART 接 单线 的电路, 不知大大有没有做过,


如果用 Arduino 作 MCU, 当中的 MCU_TXEN 及 MCU_RXEN 可以怎样接?
是否自己预留两个接口, 在需要发讯及接收时, 把相关的接口设定成 HIGH 就可以了?

我是用来接总线舵机用的, 只有相关的通讯协定, 但就没有专用的控制板, 所以要自己想办法跟它通讯.

suoma 发表于 2018-1-20 11:38:49

可参考onewire库,及WS灯带

maxims 发表于 2018-1-22 10:16:31

本帖最后由 maxims 于 2018-1-22 10:27 编辑

Super169 发表于 2018-1-17 09:56
谢谢, 我还在研究中.

我刚在网上找到一个 UART 接 单线 的电路, 不知大大有没有做过,


你这个有点复杂了。。。稍等我给你找个通讯库,除了通讯协议波特率有点低之外,其他我试过,还行。

https://github.com/gioblu/PJON/wiki/ATtiny-interfacing


其实,归零码是最简单有效的。

Super169 发表于 2018-1-26 00:27:36

謝謝大家, 由於自己對硬件不太熟悉, 最後決定以軟件解決.
我把 SoftwareSerial 的庫修改了, 現在可以支援 單線串口了.
用舵機測試了一段時間, 只要每次轉換時, 有足夠 delay, 就可以順暢以 115200bps 通訊了.
页: [1]
查看完整版本: 请问大家有做过单线串口通讯吗?