[STM32F1] 107和103的rs485通信

[复制链接]
 楼主| huwr 发表于 2021-1-12 23:14 | 显示全部楼层 |阅读模式
写了主机和从机的程序,两块107可以进行询问——应答方式的485通信,现在把程序移植到103上面,不行。我是用数组保存数据帧的,在数据帧发送或接收完成前板子时钟保持发送或接收的状态。标志位用到的是TXE和RXNE,通过中断方式。把运行过程的中间参数发送到串口调试助手上看,发现接收到的数据帧(其实是一个个的字母组成)中间出现大量空格,字符串不能连续显示,也有接收的字符与显示的不一致。 请问是什么原因?跟两个芯片的时钟频率不一样有关吗?但我感觉好像系统里面都是配置到72M的。
xxrs 发表于 2021-1-12 23:16 | 显示全部楼层
先检查波特率问题
happy_10 发表于 2021-1-12 23:20 | 显示全部楼层
先确认波特率,简单的办法是借用PC来观察
happy_10 发表于 2021-1-12 23:22 | 显示全部楼层
确认波特率没有问题,可能是因为内存容量的变化导致了冲突,看编译后的lst文件即可获知。
kangzj 发表于 2021-1-12 23:24 | 显示全部楼层
难道是地址设置 有问题吗
llia 发表于 2021-1-12 23:26 | 显示全部楼层
是不是波特率不匹配的问题啊
gongche 发表于 2021-1-12 23:28 | 显示全部楼层
是不是上拉电阻没有加上呀
zwll 发表于 2021-1-12 23:30 | 显示全部楼层
用示波器看看波形是什么样子的
juventus9554 发表于 2021-1-12 23:33 | 显示全部楼层
是不是两片时序上没偶配合好啊
gongche 发表于 2021-1-12 23:38 | 显示全部楼层
485需要接匹配电阻吗
llljh 发表于 2021-1-12 23:41 | 显示全部楼层

只接一个有问题吗
xxrs 发表于 2021-1-12 23:43 | 显示全部楼层
用排除法找到问题所在
ousj 发表于 2021-1-12 23:45 | 显示全部楼层
在线调试找问题啊
chenjunt 发表于 2021-1-12 23:47 | 显示全部楼层
首先确认波特率问题
pengf 发表于 2021-1-12 23:50 | 显示全部楼层
如果波特率没问题  那么如果有条件先单独测试每块板子直接与电脑端同学 看发送和接收数据是否一致 然后再把两块板子一起通讯
pengf 发表于 2021-1-12 23:53 | 显示全部楼层
前两步正常,连一起还是不正确,那可能是线段匹配问题
llia 发表于 2021-1-12 23:55 | 显示全部楼层
比如说上下拉电阻不合适
morrisk 发表于 2021-1-12 23:56 | 显示全部楼层
或者120r的匹配电阻有问题
 楼主| huwr 发表于 2021-1-12 23:58 | 显示全部楼层

嗯,那我按大家的说法挨个排查一下,谢谢哈
aoyi 发表于 2021-2-4 20:45 | 显示全部楼层
那就先检查一下时钟频率
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部