大家好,我是小小的电子之路,这是我的第10篇原创文章,很高兴与大家一起分享~
原文出自微信公众号【小小的电子之路】
前段时间写了几行代码,其中有一部分是关于串口接收的,仿真调试是没有问题的,但是下载之后就出问题了,不过问题并没有出现在代码上,而是在上位机发送的数据上,这两天突然找到了问题所在,然后就发现这个问题并不能称作是一个问题。下面就来简单描述一下这个现象。
1、现象描述
使用串口调试助手通过USB转TTL向FPGA发送数据0X55时,在停止位发送完成之后,USB转TTL的输出并不是持续的高电平(即空闲状态),而是仍存在一定时间的电平变化,之后才是持续的高电平,如下图所示。
2、问题所在
观察一下停止位之后的数据,其二进制表示为0101100001、0010100001,去除两端的起始位和停止位,发现其十六进制表示为0X0D、0X0A,这正是换行符所表示的数据,然后看了一下串口调试助手的设置,果然,发送新行没有取消勾选!
下图是取消勾选发送新行时的数据,可以看出,停止位之后为持续的高电平,数据正常。
以上就是本次分享的全部内容,谢谢大家!