两个单片机之间用2个GPIO双向通讯用什么协议或时序比较好?

2019-12-14 12:13发布

双线通讯.png (15.42 KB, 下载次数: 0) 下载附件 双线通讯 2019-1-23 12:49 上传
准备这么接线,好或者有其他更好的接线方式?
速度要求不高,1kbps就够了,这样可以用普通的光耦,当然能高一点更好。
希望能用普通端口,没有中断,不占用硬件定时器,
打算主程序跑一个循环去查询一次,实时性要求不高,但是不能丢失或者错过。
本来想去模拟IIC时序,但是IIC是固定的主从结构,最好不用固定的主从结构,任何一方在空闲的时候都能发起通讯。
占用系统资源尽量少,尽量减少等待时间。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
38条回答
ponder2077
1楼-- · 2019-12-15 20:39
确实难题
aitchow
2楼-- · 2019-12-16 01:49
 精彩回答 2  元偷偷看……
wzda_gundam
3楼-- · 2019-12-16 02:26
模拟串口
jackjiao
4楼-- · 2019-12-16 05:19
有自带现有的外设不用,非要自己开发套通信方式和链路协议,额,这个和其他协议一样,同步参照iic spi,异步参照串口,感觉有楼主点把自己绕进去了,自己找麻烦
如果,楼主只是简单做个拉低拉高通知下,当我没说。。。
Eric_Xue
5楼-- · 2019-12-16 07:44
chengyang79 发表于 2019-1-23 13:31
这样要占用硬件IIC接口哦,我是想讨论一个比较通用的尽量少占资源的方案出来。 ...

用IO口模拟,CPU必须高频率去访问IO口状态,这样占用CPU的处理时间。
你节省了外设(I2C、SPI)的资源,却浪费了CPU的资源。
chengyang79
6楼-- · 2019-12-16 12:17
aitchow 发表于 2019-1-23 15:12
单方向做单线协议, 刚好两根线,组成双向通讯

你是说的用DS18B20那种单线协议?也是用脉冲宽度区分的,编码解码不简洁。
另外如果用单线协议,另外一根线不用有点浪费,
我的想法是用输出的IO发送时钟,用输入的IO接收数据。

一周热门 更多>