本菜鸡以个人理解的白话文讲解485通信,如果想要全面专业资料请去度娘
以该项目为例:我使用的是某信公司的max487系列的芯片
那max487和485通信有什么关系呢?
一般来说,网上最常见的是max485的资料
从硬件设计和软件设计上来说,两者区别不大,可以通用
但487的带载能力比485强
根据项目需求,所以选择max487
具体来讲解一下485通信驱动引脚
所有的485模块(host板、slave板、display板、上网板)的A端与A端相连,B端与B端相连
RX\TX连接单片机串口的RX\TX
485_S_G管脚通过高低电平的转换来控制数据的收发。
还有485是半双工的。收发不能同时进行。
/**********************************************分割线*******************************************/
大牛绕行
萌新继续往下看
在485总线这条链路上,如何才能正确通信呢?
本菜鸡先用白话文解释下什么是全双工?什么是半双工?
建立全双工模型:萌新和萌新女友,萌新是收端,萌新女友是发端。A和A女友,A是收端,A女友是发端。
收端不发,发端不收。
一天,萌新女友和A女友吵架,发端不收,so,萌新女友和A女友只管阐述自己的观点,至于对方讲的什么,根本没有听进去。
萌新和A,收端不发,自然是萌新默默的听着A女友的碎碎念,A听着萌新女友的牢骚。
结论:即使两个发端同时发送消息,对方的收端都能够收到消息
接下来解释半双工
还是萌新和萌新女友:萌新和萌新女友两个人既可以作为发端,也可以作为收端
一天,萌新和女友煲电话粥,两个人都是第一次打电话,萌新准备说,“hello girlfriend”
谁知道“hello”刚说完,“girlfriend”还未说,女友听到了“hello”立马回复“hi”。此时萌新的"girlfriend"
也正好说出口。于是乎“girlfriend”与“hi”在链路上起了冲突。“滋滋滋”,结果两个人都没有听清楚对方说的是什么,
这就是半双工:收发不能同时进行。
为了保证每次通信不产生冲突,萌新与女友商定,女友是host,萌新是slave,当host发起询问时,slave才进行响应。
也就是说,两人打电话时,萌新不主动说话,当女友说完话后,说:“萌新我说完了,你讲吧”。此时,萌新开始说话。
当萌新说:“my dear,我说完了”。此时响应结束。可以由女友再次发起询问请求。