OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2916|回复: 7

RS485通信问题,能收不能发

[复制链接]

23

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1115
金钱
1115
注册时间
2016-8-26
在线时间
256 小时
发表于 2019-9-25 18:09:40 | 显示全部楼层 |阅读模式
5金钱
跟踪调试,单片机能收到串口助手发来的数据;485芯片的控制引脚信号也是对的,发送数据时,能进入发送函数
RS485_EN = BUS_TX_STATE;        //发送模式
delay_ms(10);
while(len--)
{
  while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);//等待发送区为空
  USART_SendData(USART1,*(buff++));
}
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);//等待发送完成
RS485_EN = BUS_RX_STATE;        //接收模式
delay_ms(10);

查看寄存器,相关标志位也是正常变化的,但是串口助手却没收到数据。

这个可能是什么问题?


最佳答案

查看完整内容[请看2#楼]

可 参考 下 我们的 程序
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

272

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5390
金钱
5390
注册时间
2017-8-14
在线时间
249 小时
发表于 2019-9-25 18:09:41 | 显示全部楼层
可 参考 下 我们的  程序
STM32F10x_RS485源程序说明191002.zip (241.45 KB, 下载次数: 83)
详细资料扣扣群204408503自行下载
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2019-9-25 19:03:16 | 显示全部楼层
看看是不是硬件的问题
一分耕耘一分收获。
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14433
金钱
14433
注册时间
2018-8-3
在线时间
1157 小时
发表于 2019-9-25 20:48:20 | 显示全部楼层
发送和接收 要分开来 半双工的   不能接收到的话 建议仿真直接在接收中断打个断点 看看能不能进去
回复

使用道具 举报

23

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1115
金钱
1115
注册时间
2016-8-26
在线时间
256 小时
 楼主| 发表于 2019-9-26 10:28:27 | 显示全部楼层
yklstudent 发表于 2019-9-25 19:03
看看是不是硬件的问题

1.png
1、换了一个485芯片,串口助手就能收到单片机返回的数据;
2、但是过了没多久就出问题了,仍是单片机能接收到数据,发送数据时也能进入发送部分代码;
3、逐步仿真,控制电压也是成功切换了,再查看单片机寄存器,可以确认数据是发送出去了;
4、但是串口助手又收不到数据了
回复

使用道具 举报

23

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1115
金钱
1115
注册时间
2016-8-26
在线时间
256 小时
 楼主| 发表于 2019-9-26 10:30:58 | 显示全部楼层
翼行园子 发表于 2019-9-25 20:48
发送和接收 要分开来 半双工的   不能接收到的话 建议仿真直接在接收中断打个断点 看看能不能进去

单片机能收到串口助手发来的数据,返回数据时,能顺利进入到发送函数,可以确定数据是发送出去了,但是串口助手没收到
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2019-9-26 11:13:23 | 显示全部楼层
MAX485是5V供电的,MAX3485才是3.3V供电,换个片子试试。
回复

使用道具 举报

23

主题

94

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1115
金钱
1115
注册时间
2016-8-26
在线时间
256 小时
 楼主| 发表于 2019-10-17 14:16:17 | 显示全部楼层
zml13917492379 发表于 2019-9-25 18:09
可 参考 下 我们的  程序

谢谢您的分享。问题找到了,保存在flash内波特率参数变了,导致初始化时,串口根本就没有执行初始化。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 19:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表