那是星期六 发表于 2014-12-4 21:23:16

基于2812芯片的485串口通讯,查询方式通讯(源代码)

前几天本人在调试RS485通讯方式的串口,之前已经将232串口调试出来,但是在调试的时候老是得不到数据,电路原理图如下:
后来发现其实232串口通讯和485之间其实是存在区别的,232可以工作在全双工的方式下,但是485却只能工作在半双工的方式下,
如果按照全双工的思想方式去写程序,很可能就造成在一段得不到数据,因为485通讯的两根线可能会电平抵消,附上程序的源代码,
只是一个试探的程序,使用的是查询的方式来通讯;

steaven2000 发表于 2014-12-5 08:59:09

做软件的不要想当然,什么叫“485通讯的两根线可能会电平抵消”?你了解485的通讯机制了吗?你知道芯片上面的nRE及DE是什么意思吗?

那是星期六 发表于 2014-12-5 11:44:25

steaven2000 发表于 2014-12-5 08:59
做软件的不要想当然,什么叫“485通讯的两根线可能会电平抵消”?你了解485的通讯机制了吗?你知道芯片上面 ...

芯片上面的nRE及DE是485输出使能和输入使能端啊,原理图上只是局部,这个段子是接到的一个GPIO口上的,用来控制信号是读取还是输出,
我说的电平抵消是指,当你DSP还在发的时候,上位机也在发的时候,就有很大的可能,信号会丢失,原因是上位机的串口的信号会和DSP
发出的信号产生电平抵消的现象,而得不到所需的信号,或者信号是错误的,这之间有什么矛盾吗?

qq910130528 发表于 2014-12-5 11:48:05

主机不同意...从机敢说话?

那是星期六 发表于 2014-12-5 11:55:03

qq910130528 发表于 2014-12-5 11:48
主机不同意...从机敢说话?

只是测试485串口线是不是好的,电脑的串口一只在发数据,没有涉及到通讯协议,dsp是收到数据以后再发给电脑,
实际使用的时候,确实是A和B之间的电平确实是一个正一个下,之间有很大的可能重合了。

qq910130528 发表于 2014-12-5 11:59:36

那是星期六 发表于 2014-12-5 11:55
只是测试485串口线是不是好的,电脑的串口一只在发数据,没有涉及到通讯协议,dsp是收到数据以后再发给电 ...

嗯,好多485芯片使能脚电平变化需要几毫秒的延时时间,不能收到后立即使能发送,容易出错

那是星期六 发表于 2014-12-5 12:47:36

qq910130528 发表于 2014-12-5 11:59
嗯,好多485芯片使能脚电平变化需要几毫秒的延时时间,不能收到后立即使能发送,容易出错 ...

哦哦~原来是这个缘故,延时要加上去~

那是星期六 发表于 2014-12-5 13:50:33

wmlovetoday 发表于 2014-12-5 13:10
楼主没明白485通信机制就调试代码......

哦~求教~
页: [1]
查看完整版本: 基于2812芯片的485串口通讯,查询方式通讯(源代码)