你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

485通信在发送状态切换到接收状态多发送个0怎么回事

[复制链接]
人之颠 提问时间:2015-7-16 09:37 /
本帖最后由 人之颠 于 2015-7-16 15:02 编辑

大家好,我用的是max3430芯片,和stm32f107通信。在485芯片由发送状态切换到接收状态时,电脑上的串口助手会多接收一个“0”字节,正常运行和单步调试时都会出现这种情况。这是我设计的电路图
485.png
我又试了一下,波形没问题,就是发现单片机在一个发送周期内,自己连续发了两个字节,一个是我要发送的一个字节,一个是多出的那个0,但是我的程序写的就是发送一个字节,神马情况啊这是
box.jpg

这是我写的程序代码


daima.png


收藏 评论21 发布时间:2015-7-16 09:37

举报

21个回答
魅影-2023106 回答时间:2015-7-16 09:44:11
远距离传输会出问题
人之颠 回答时间:2015-7-16 10:02:27
魅影-2023106 发表于 2015-7-16 09:44
远距离传输会出问题

不是远距离,就是通过USB转485和电脑通信进行测试
人之颠 回答时间:2015-7-16 10:45:13
求助啊,好郁闷啊,对这个问题没头绪啊:'(:'(:'(:'(:'(:'(
lkl0305 回答时间:2015-7-16 12:52:53
看看波形,单步,看看在哪里出现
cenzmin 回答时间:2015-7-16 13:15:15
可能这个问题不好解决。
在你的485发送完成后,TX为高电平,485总线上A线电压 > B线电压;
将485从发送切换到接收,485接口芯片的促使A、B线为高阻态;
此时由于你的A、B线之间的匹配电阻120R,使A、B线的电压差减小到0;
但是如果考虑总线上电感的因素,有可能导致B线的电压 > A线电压;
因此,这个时刻对于接收端来说,会出现一个0电平。
在232的硬件里边,接收端RX脚上出现一个下降沿,满足232的起始位条件,可以认为是一个字节传输的开始,是不是就导致了接收端接收了一个“0”字节。
至于接收端认为启动了一个字节的传输,满足了起始条件,但是并不满足232传输的停止位;这个问题就不是很清楚了。
可以建议楼主在485的A、B线上,分别对地接一个小电容;看看有没有改善。
而且,好像120R的匹配电阻,并不是什么情况下都需要接上的。

个人见解,仅供参考。
cenzmin 回答时间:2015-7-16 13:16:55
A、B线的电容,应该是A、B间一个,A、B分别对地各一个
人之颠 回答时间:2015-7-16 13:58:26
cenzmin 发表于 2015-7-16 13:15
可能这个问题不好解决。
在你的485发送完成后,TX为高电平,485总线上A线电压 > B线电压;
将485从发送切换 ...

我试试,先谢谢大神
人之颠 回答时间:2015-7-16 14:59:00
cenzmin 发表于 2015-7-16 13:16
A、B线的电容,应该是A、B间一个,A、B分别对地各一个

我试了一下,波形没问题,就是发现单片机在一个发送周期内,自己连续发了两个字节,一个是我要发送的一个字节,一个是多出的那个0,但是我的程序写的就是发送一个字节,神马情况啊这是
qwb736727429 回答时间:2018-8-31 11:15:03
楼主你好,这个问题最后解决了吗。我这边也是用软件使能,电路跟你的也差不多,
也遇到了这个问题。
123下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版