野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14643|回复: 6

从机模式的485发送数据有问题

[复制链接]
发表于 2016-8-30 15:12:25 | 显示全部楼层 |阅读模式
一个工程中运用了两个485,一个主机模式,一个从机模式,主机模式的485接收发送均正常,从机模式的485每次接收处理完成后发送数据前还要加上延时,不然不能正常发送数据包,并且发送的数据包总有前缀。搞不懂是什么原因。两个485的接收发送机制一样,问题出现在哪呢?求大神指点。。。。。。

回复

使用道具 举报

发表于 2016-8-30 15:17:21 | 显示全部楼层
是要加延时,不延时的话stm32芯片发送完,收发器没有发送完就会出现错误,延时加长一点看看,
参考下我们的程序
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-30 15:27:32 | 显示全部楼层
flyleaf 发表于 2016-8-30 15:17
是要加延时,不延时的话stm32芯片发送完,收发器没有发送完就会出现错误,延时加长一点看看,
参考下我们 ...

是从机端的485接收数据解析完毕后加延时才能正常发数据,而且我在每次发送数据完毕后轮询直到数据发送完毕后才使能接收的。主机端也是相同的机制,每次发送数据不用加延时。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-30 15:30:50 | 显示全部楼层
flyleaf 发表于 2016-8-30 15:17
是要加延时,不延时的话stm32芯片发送完,收发器没有发送完就会出现错误,延时加长一点看看,
参考下我们 ...

485发送数据处理代码如图所示
1.jpg
2.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-30 15:50:25 | 显示全部楼层
flyleaf 发表于 2016-8-30 15:17
是要加延时,不延时的话stm32芯片发送完,收发器没有发送完就会出现错误,延时加长一点看看,
参考下我们 ...

例程中485从机端处理是这样的,只不过发送接收都是1个字节。还是说数据包大的话就要加延时处理,总感觉是哪边时序的问题,可是我也是初始化的时候处于接收使能,等待接收数据帧完成后进行解析,如果为有效指令时,我就使能发送,发送相应的数据帧,然后发送完毕后再使能接收,就这样一直循环处理。不知道是哪里出错了呢?求大神指点。。
  1.   while(1)
  2.   {
  3.     GPIO_ResetBits(mac485REDE_PORT,mac485REDE_PIN); //½øÈë½ÓÊÕģʽ
  4.     while(        USART_GetFlagStatus(USART2,USART_FLAG_RXNE)!= SET);//ÂÖѯֱµ½485½ÓÊÕµ½Êý¾Ý
  5.     temp = USART_ReceiveData(USART2);
  6.     printf("\r\n½ÓÊÕµ½µÄÊý¾ÝΪ%d \r\n",temp);

  7.     temp++; //°ÑtempµÄÖµ¼Ó1ºóÔÙ·¢Ë͸øÖ÷»ú

  8.     GPIO_SetBits(mac485REDE_PORT,mac485REDE_PIN); //½øÈë·¢ËÍģʽ
  9.     USART_SendData(USART2, temp);         //·¢ËÍÊý¾Ý
  10.     while (USART_GetFlagStatus(USART2,USART_FLAG_TC) !=SET);//ÂÖѯֱµ½·¢ËÍÊý¾ÝÍê±Ï
  11.     printf("\r\n·¢ËÍÊý¾Ý³É¹¦£¡\r\n");
  12.   }
复制代码
回复 支持 反对

使用道具 举报

发表于 2016-8-30 16:54:42 | 显示全部楼层
用火哥的程序好像没有这类问题,你照着火哥提供的例程修改试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-30 17:11:09 | 显示全部楼层
尉迟芮丽 发表于 2016-8-30 16:54
用火哥的程序好像没有这类问题,你照着火哥提供的例程修改试试

好的,只能这样慢慢改着调试了,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-12 18:44 , Processed in 0.033997 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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