6014|14

86

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

能正确接收没有停止位的数据,算不算USART的BUG! [复制链接]

                                 在测试STN32的USART时,发给它没有停止位的数据帧(一种错误的帧结构),数据还是能被正确的接收。有人说是硬件有BUG,该对数据要收对,该错的数据要收错,有人说是硬件设计的好,容错能力强。谁给评评理,道底该信哪一个?还是要求做这项测试的人吃饱了撑的慌?
此帖出自stm32/stm8论坛

最新回复

STM32作为MCU,使用UART连接232的PHY芯片,PHY芯片的默认电平跟停止位的电平是相同的,因此,当对端PHY未发送停止位时,实际上发送的也是停止位电平,极有可能是因为这样,导致不发送停止位,也能正常通信。但如果连续发送,将会导致无法正确接收。  详情 回复 发表于 2018-7-3 17:46
点赞 关注
 

回复
举报

88

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

开玩笑吗。你试试你爹自己设计的芯片看看?

你爹的水平设计出来的就这个样。你.

你爹用 串口调试带理来试试看,不乱码你爹就见鬼了。


此帖出自stm32/stm8论坛
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

请贴出示波器图再分析

                                 一般讲UART传输不可能没有停止位,只不过长短不一。
此帖出自stm32/stm8论坛
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 

看看你爹的FE, 数据当然不会错

不管你爹的FE,你能长这么大?
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 

我觉得值得商讨

                                 既然帧格式错了,接收标志就不改置位,这样容易误解。只置位FE就行了。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

6
 

想请教一下,没有停止位哪里来的起始位

起始位是以高电平之后的下降沿为标志,没有停止位如何判定下个字节的起始位?

请楼主说说如何产生这样的数据信号,或给一个波形图,这样我们也可以测试一下你说的情况。
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

7
 

我的看法

我个人认为,在某种特别条件下,会发生停止位丢失的现象。我们这样看,任何一个UART接收电路都会以某种模式去检测停止位,这足以说明设计电路的人已经考虑到到了,在实际运行当中,会有停止位丢失的情况发生。不然,为什么要去检测有没有停止位?如果,停止位一定不会丢失,我们在电路设计上,完全可以省去停止位检测的部分,可以节省一定的资源,何乐而不为?想当然的认为发送方一定会送来接收方想要的东西,有点欠考虑。
    个人见解,不一定正确,供香版主参考。 
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

8
 

谈谈我的看法:正常的UART设备不可能不发送停止位

在接收方如果没有收到停止位,应该是因为干扰所造成,UART接收就是电平检测电路之后的一个移位寄存器,在停止位被干扰的情况下,只要各个数据位没有被干扰,收到的数据位放在接收寄存器中,可以由用户程序自己决定是否在有FE标志时使用收到的数据,或者丢弃这个数据。

关于FE标志的说明,和芯片内部的动作,在STM32参考手册中有明确地描述:
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

9
 

香水城主真敬业,晚上了还坚守岗位。。。

                                 佩服佩服。。。
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 

在接收方如果没有收到停止位,可能主要由厂家硬件设计决

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(中级)

11
 

哈哈,出差回来过来散散步

                                 谢谢楼上捧场~~~~~~
此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

12
 

补充一点

                                 明白香主的意思。不过,我还是认为:置位FE就行了,接收标志就不该置位,这样容易误解。看看ST的firmware 库中给出的example,哪个例程检测FE标志了?容易误导使用者。
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

13
 

没有接收标志,怎么知道错误数据进来??

收到数据后,不能检查对错??

生了孩子,不会问清男女???

此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

14
 

哈哈,楼上幽默

关于12楼的问题:当出现FE标志时表示停止位有问题,并不足以表示前面的数据位也出现了问题,所以判断是否需要使用收到的数据是用户程序的事情,而不是硬件的事情,我们只是为用户提供多一种选择。

至于说ST提供的例子,仅仅是一个例子,而不是教科书,也不是一个严谨的应用。
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
STM32作为MCU,使用UART连接232的PHY芯片,PHY芯片的默认电平跟停止位的电平是相同的,因此,当对端PHY未发送停止位时,实际上发送的也是停止位电平,极有可能是因为这样,导致不发送停止位,也能正常通信。但如果连续发送,将会导致无法正确接收。
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表