打印
[STM32F0]

PC端发送数据STM32这端什么都没有接收到

[复制链接]
1297|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxrs|  楼主 | 2022-2-1 22:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在使用两个STM32+485实现了485之间的通信,但是我现在用其中一个和PC端的232转485模块相连,PC端发送数据,可是STM32这端什么都没有接收到,现在手上没有示波器,所以不能确定PC端这边是否把数据发出来了,还请大神们指点一下还有一些什么地方该考虑的,谢谢了!!

使用特权

评论回复
沙发
chuxh| | 2022-2-1 22:47 | 只看该作者

485 的差分线顺序对了没有?

使用特权

评论回复
板凳
xxrs|  楼主 | 2022-2-1 22:50 | 只看该作者
两跟线,我交换过,也没有反应。

使用特权

评论回复
地板
xxrs|  楼主 | 2022-2-1 22:52 | 只看该作者
我没有接GND,这个应该没什么问题吧。

使用特权

评论回复
5
xxrs|  楼主 | 2022-2-1 22:54 | 只看该作者
现在可以了,但是发现数据不对。

使用特权

评论回复
6
llljh| | 2022-2-1 22:56 | 只看该作者
根本不需要gnd

使用特权

评论回复
7
xxrs|  楼主 | 2022-2-1 23:01 | 只看该作者
现在的问题是:比如我发8个数据,我接收到的前面几个数据是对的,但是后面几个就不对了。

使用特权

评论回复
8
xxrs|  楼主 | 2022-2-1 23:02 | 只看该作者
比如:PC发送数据是0x68,0x99,0x14,0x01,0x88,0x9e,0x16,j接收到的数据就变成了 0x68,0x99,0x14,0x01,0x00,0x01,0x02,后面3个数据出错了。

使用特权

评论回复
9
dingy| | 2022-2-1 23:03 | 只看该作者
不是共地问题   ?

使用特权

评论回复
10
yszong| | 2022-2-1 23:05 | 只看该作者

哪个做主机?

使用特权

评论回复
11
llljh| | 2022-2-1 23:09 | 只看该作者
最好接上GND线,两边可能存在地电位差,有可能出错。

使用特权

评论回复
12
morrisk| | 2022-2-1 23:10 | 只看该作者
还是接上吧

使用特权

评论回复
13
午夜粪车| | 2022-2-1 23:12 | 只看该作者
你应该是用的STM的RS232发送的吧?注意一下你的发送函数,看是不是里面检测发送完成的用的是发送缓冲区空标志而不是发送完成标志?

使用特权

评论回复
14
wyjie| | 2022-2-1 23:14 | 只看该作者
差分信号要gnd有用吗

使用特权

评论回复
15
juventus9554| | 2022-2-1 23:17 | 只看该作者
弱弱的问一句,485是采用的屏蔽双绞线传输的,LZ这样的连线会不会在旁边有强干扰的时候(比如USB的数据线)会产生数据错误啊?小弟才学,不对勿喷啊……

使用特权

评论回复
16
stly| | 2022-2-1 23:17 | 只看该作者

比如:
static float accumulator = 0.0;

使用特权

评论回复
17
xxrs|  楼主 | 2022-2-1 23:19 | 只看该作者
现在PC+485已经可以和STM32+485通信了,一对一,一对二,都可以,如果再增加就不行了,有些就不能通信了,我使用的是手拉手的连接,请问,该怎么解决???

使用特权

评论回复
18
juventus9554| | 2022-2-1 23:20 | 只看该作者
想办法把一个浮点数据分拆开存到2个、4个甚至更多的unsigned int类型里,然后计算。

使用特权

评论回复
19
dengdc| | 2022-2-1 23:22 | 只看该作者
232/485转换器供电不足引起的,可以外加个电源试试。

使用特权

评论回复
20
jiajs| | 2022-2-1 23:24 | 只看该作者
可能是传输信号的能量不够   这个也是有可能的  楼主

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

粉丝