硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5934|回复: 6
收起左侧

[有问必答] 485发送一个字节,变成了FF,发现是485切换到发送模式后没有等待100us的原因,硬汉

[复制链接]

20

主题

249

回帖

309

积分

高级会员

积分
309
发表于 2016-4-26 14:46:35 | 显示全部楼层 |阅读模式
我用458发送一个字节,发出去后变成了0xFF,仿真一步一步走,都没有问题,全速就出问题。

几经折腾,发送485切换到发送模式后等待100us,数据就正常了。看了485手册【ADM2483】,它的发送使能时间是2.5us,我再把等待时间改成3us,还是不行

最后等100us后,发送数据就正常了。

我用407单片机,168M,USART1,请硬汉哥看看,我哪里没有弄对,你的例程中怎么没有切换后等待一段时间的语句呢?

谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2016-4-27 01:19:25 | 显示全部楼层
这个问题还真没有研究过,难道是硬件设计问题。
回复

使用道具 举报

20

主题

249

回帖

309

积分

高级会员

积分
309
 楼主| 发表于 2016-4-27 08:45:43 | 显示全部楼层

回 eric2013 的帖子

eric2013:这个问题还真没有研究过,难道是硬件设计问题。 (2016-04-27 01:19) 
嗯,有可能
但是按照数据手册来看,ADM2384的切换时间已经比常用其他485芯片快很多很多了,原理上不应该的。。是不是我的单片机168M跑的太快?

现在测试是while(1)中发数没有问题,但是在串口接收中断中接收一个字节后马上发出去(查询方式),这个字节就会有乱码,如果不延时的话。
回复

使用道具 举报

20

主题

249

回帖

309

积分

高级会员

积分
309
 楼主| 发表于 2016-4-27 13:33:13 | 显示全部楼层

回 eric2013 的帖子

eric2013:这个问题还真没有研究过,难道是硬件设计问题。 (2016-04-27 01:19) 
再问版主一个问题:在printf中怎么切换485收发模式呢?

写成下面的样子可以吗?但是发送多个字节时那收发切换太频繁,影响效率啊
printf()
{
    切换到发送模式;
    发送一个字节;
    切换到接收模式;
}
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2016-4-28 01:28:45 | 显示全部楼层

回 小狐狸 的帖子

小狐狸:嗯,有可能
但是按照数据手册来看,ADM2384的切换时间已经比常用其他485芯片快很多很多了,原理上不应该的。。是不是我的单片机168M跑的太快?

现在测试是while(1)中发数没有问题,但是在串口接收中断中接收一个字节后马上发出去(查询方式),这个字节就会有乱码,如果不延时的 .. (2016-04-27 08:45) 
极有可能是硬件上面的问题。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2016-4-28 01:29:39 | 显示全部楼层

回 小狐狸 的帖子

小狐狸:再问版主一个问题:在printf中怎么切换485收发模式呢?

写成下面的样子可以吗?但是发送多个字节时那收发切换太频繁,影响效率啊
printf()
....... (2016-04-27 13:33)
用我们bsp_uart_fifo.c文件,应该你的工程也可以直接使用的。
支持RS485
回复

使用道具 举报

20

主题

249

回帖

309

积分

高级会员

积分
309
 楼主| 发表于 2016-4-28 08:47:40 | 显示全部楼层

回 eric2013 的帖子

eric2013:用我们bsp_uart_fifo.c文件,应该你的工程也可以直接使用的。
支持RS485 (2016-04-28 01:29) 
好的,谢谢啦
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 00:48 , Processed in 0.041348 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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