stm32f407,485通讯问题

2019-07-20 10:38发布

485通讯方向脚变换方向时需要一个小延时才能正常发送,不然发送会出现一两个乱码。。之前没有这样的。换了一块板子出现的。
从电路上来看两个板子485都是一样的电路。。。。实在觉得奇怪!!有没有遇到过这种情况的?GPIO_SetBits(GPIOB,GPIO_Pin_0);
        //delay_ms(1);???????????
        {
          for(t=0;t<len;t++)               
        {
                USART_SendData(USART2,buf[t]);
          while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);                     
        }         

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
feiyang0725
1楼-- · 2019-07-21 03:16
 精彩回答 2  元偷偷看……
灰大狼mk
2楼-- · 2019-07-21 05:56
 精彩回答 2  元偷偷看……
qiaobin123
3楼-- · 2019-07-21 08:00
串口接收部分添加噪音检测试试。。485首发引脚引脚切换时可能会产生一个错误数据。
feiyang0725
4楼-- · 2019-07-21 12:35
 精彩回答 2  元偷偷看……
qiaobin123
5楼-- · 2019-07-21 15:21
feiyang0725 发表于 2017-12-5 08:42
接收时没有问题的,发送出现的问题。我用调试工具发现,不管我发送什么数据,只要切换方向脚不延时,发送 ...

对啊,就是引脚切换时485芯片会产生一个错误数据发送出去,你可以切换引脚,但是不发送数据,看看调试工具会收到数据不?或者示波器抓一下看看
qiaobin123
6楼-- · 2019-07-21 16:28
feiyang0725 发表于 2017-12-5 08:42
接收时没有问题的,发送出现的问题。我用调试工具发现,不管我发送什么数据,只要切换方向脚不延时,发送 ...

处理办法,接收的时候讲第一个错误的数据去掉,噪声检测应该时可以的,另外电路处理一下试试看。

一周热门 更多>