一个关于串口的小问题

描述

前段时间写了几行代码,其中有一部分是关于串口接收的,仿真调试是没有问题的,但是下载之后就出问题了,不过问题并没有出现在代码上,而是在上位机发送的数据上,这两天突然找到了问题所在,然后就发现这个问题并不能称作是一个问题。下面就来简单描述一下这个现象。

1、现象描述

使用串口调试助手通过USB转TTL向FPGA发送数据0X55时,在停止位发送完成之后,USB转TTL的输出并不是持续的高电平(即空闲状态),而是仍存在一定时间的电平变化,之后才是持续的高电平,如下图所示。

串口调试

2、问题所在

观察一下停止位之后的数据,其二进制表示为0101100001、0010100001,去除两端的起始位和停止位,发现其十六进制表示为0X0D、0X0A,这正是换行符所表示的数据,然后看了一下串口调试助手的设置,果然,发送新行没有取消勾选!

串口调试

下图是取消勾选发送新行时的数据,可以看出,停止位之后为持续的高电平,数据正常。

串口调试

以上就是本次分享的全部内容,谢谢大家!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分