通常用串口打印乱码大多是因为串口波特率不对。那么我们应该如何测量实际的波特率呢?在此之前,让我们回顾一下波特率的概念。
什么是波特率和比特率?
比特率的英文是Bitrate,它表示每秒传输的二进制位数,单位为比特/秒(bit/s)。
波特率的英文是Baudrate,它表示每秒传输的码元符号的个数,是衡量数据传输速率的指标。
码元是通信信号调制的概念。具有相同时间间隔的符号通常用于表示通信中的二进制数。这种的信号称为码元。
在普通通信传输中,0V代表数字0,5V代表数字1,所以一个码元可以代表0和1两种状态,所以一个码元等于一个二进制位,波特率与比特率一致。
如果0V、2V、4V和6V在通信传输中分别代表二进制数00、01、10和11,那么每个码元可以代表四种状态,即两个二进制位,因此码元数是二进制位数的一半,此时波特率是比特率的一半。
因为在许多常见的通信中,例如串口通讯中,一个码元代表两种状态,所以我们通常直接用波特率来表示比特率。
串口通讯协议
在串口通信的协议层,它规定了数据包的内容,由起始位、主数据、校验位和停止位组成。通讯双方的数据包格式应一致,才能正常收发数据。数据帧的组成如下:
让我们实际验证数据帧是否真的是这样,编写以下代码:
代码非常简单,即使用串口连续向外发送数据0xAA(当然也可以发送其他数据)。我们的串口配置如下:
我们可以用示波器或逻辑分析仪抓取实际信号,看数据是否符合上述格式。在这里,我们用逻辑分析仪来捕捉usart1的传输信号线(TX):
从实际结果中,我们可以看出它确实是按照帧格式发送的。有些人可能对此有所怀疑。在上面的数据帧的图片中存在空闲状态。这是什么?空闲、空闲,当然不是在发送数据的状态,我们把代码改为:
初始化完成后,只发送一个0XAA,逻辑分析仪捕获的数据是:
可见,空闲状态是高电平。在前面的示例中,我们在while循环中发送了数据0XAA,因此没有空闲状态。
在这个实验中,我们需要知道两点是:
串口发送的数据首先是低位的。我们的单片机发送0XAA(10101010B),逻辑分析仪采集的有效数据为01010101b。
单片机的串口使用TTL电平,这是一个正的逻辑电平信号。逻辑分析仪采集的数据0对应实际电压0~0.5V,数据1对应实际电压2.4v~5V。
RS-232电平标准常与TTL电平标准相比较。例如,
TTL电平标准常用于普通电子电路中。在理想状态下,5V表示二进制逻辑1,0V表示逻辑0。为了提高串口通信的远距离传输和抗干扰能力,RS-232电平标准用-15V表示逻辑1,+15V表示逻辑0。
在旧的台式计算机中,通常有一个RS-232标准的COM端口(也称 DB9 接口):
在这个示例程序中,我们将串口波特率设置为115200bps。在串口通信中,符号只由一个二进制数表示(即只有0 和 1两种状态),因此波特率和比特率是相等的。
比特率代表每秒传输的二进制位数,所以我们知道传输一比特数据的时间,我们能推导出波特率吗?从逻辑分析仪上我们可以知道,发送一位数据的时间如下:
发送一位数据的时间约为8.667us,因此可以计算出一秒钟发送多少位数据:
计算出的波特率为115380bps,非常接近115200bps。最后,肯定是有一定的错误。这个错误的原因包括逻辑分析仪的质量和我们的测量环境。但这个误差也在允许范围内。您可以看到串口助手接收到的数据是否正确:
可以看到接收到的数据是正确的,即波特率是正确的。
串口波特率对不上怎么解决?
在实践中。我们可能会遇到这样情况,即代码中配置的波特率与串口助手上设置的波特率相同,但仍然存在一个异常。
例如,如果我们向串口助手发送一个字符串,那么应该显示在串口助手上的字符串就被乱码了。或者我们发送一个数据到串口助手,发现数据被移动了。
在这种情况下,大多数波特率都不对应,因此我们必须检查底层文件。如果代码中波特率计算相关值(时钟)与实际情况不符,就会出现这样的现象。例如,我的一位同事以前遇到过这种情况,这就是原因。
在使用STM32时,通常使用外部晶体振荡器,如STM32F103系列。外置晶体振荡器的输入范围为4~16mhz:
经验值一般为8MHz,而且一般的demo工程底层代码里默认的也是设置为8MHz,比如:
但是如果实际晶体振荡器没有粘贴8m,就会出现问题(例如串口波特率不正确)。追溯到源代码,串口波特率被分配到USART_Init函数中的,打开这个函数:
计算串口波特率需要一个apbclock变量,而这个值得来源从RCC_GetClocksFreq函数来,再打开这个函数:
所以要注意的是,HSE_VALUE这个值要与实际做对应。
遇到这种问题找谁说理去。经验就是不断采坑不断积累的一个过程,早点遇到坑可能也是一件好事。像类似底层的问题很少遇到,但是一旦遇到那就得比较棘手的问题了,需要很有耐心地去查找。
能用稳定的芯片是一件很幸福的事情,用不稳定、不成熟的芯片的时候,那个才是真的难啊,遇到问题真是让人怀疑人生啊,软件、硬件、芯片都可能有问题。
冻膜怎么使用才是正确的 分步阅读 1 /3 1、面膜保养法 先涂上精华液再涂晚安冻膜,利用冻膜紧密贴服肌肤的压力,促进精华液的吸收。 粉刺型肌肤请在使用20~40分钟后,用清水洗去冻膜;一般性肌肤只需用卫生纸擦去多余部分,让冻膜仍在脸上留下薄。冻膜的正确用法 去黑头冻膜的正确使用方法:清洁 敷...
1 红烧肉,最解馋的一道菜。制作方法不复杂,其制作的关键点是烧炖的时间。没有一个多小时的烧炖,就烧不出软糯的口感。现在正是桂花盛开的时候,摘一把桂花放入肉中烧炖,别有一番滋味。 原料:五花肉750克,广东菜心200克,桂花适量,冰糖40克,草菇老抽1勺,蒸鱼豉油1勺,蚝油适量,香叶2片,桂皮1块,...
传统行业一般通过地图、独立、小程序和4种方法进行拓展客户。传统行业拓展渠道很难,即使有一小部分拓展成功的传统,也是一路跌跌撞撞被骗了无数次,兜兜转转绕了无数圈,才能拨开重重迷雾,真正建立起来网络获客渠道。一路上弯路很多,忽悠的人也很多,因为个人也是这样一路走过来的。过时的推广方法前几天忽然有人加好友...
你能相信,4年前发布的OPPO A5,在二手市场依旧是“神”一样的存在吗? 近日,转转集团发布的Q1手机行情报告显示,OPPO A5在二手市场继续续写销量神话,单机销量堪称“国产之光”。 对此,转转集团数据部的分析师认为,这不仅与OPPO A5本身的续航、颜值有关,还和OPPO...
微信在我们生活中扮演的社交角色是不可替代的,我们在上班、生活等各地都已经离不开他了,电脑端和手机端的互动已是广泛应用于生活中和工作学习生活中。比如互传文件、图片等等这样即方便又节省很多步骤,省时省力。 但是我们很多人在生活中都不止一个微信号,大家都知道电脑端微信只能登录一个微信...
空调加氟的需求很大,家里一到夏天,为了保证空调的好效果,可能会加好几次氟利昂。大家对空调加氟的价格也是很关注,空调加氟一般需要多少钱?小啄以格力空调加氟一般多少钱为例给大家聊聊吧~ 空调加氟的需求很大,家里一到夏天,为了保证空调的好效果,可能会加好几次氟利昂。大家对空调加氟的价格也是很关注,空调加...
第一,Keywordseverywhere是一个SEO关键字研究工具,可以在多个网站上显示有用的谷歌关键字搜索量和每次点击费用数据。此工具可以帮助您省去从各种网站复制数据的麻烦, 第一,Keywords everywhere是一个SEO关键字研究工具,可以在多个网站上显示有用的谷歌关键字搜索量和每...
对于很多考生和家长来说,选择专业一直是一个比较困难的事情,很多家长在报考志愿的时候,都会问专家,孩子学这个专业有没有前途。其实这是一个很笼统的问题,它包含了专业发展前景、对口行业的 对于很多考生和家长来说,选择专业一直是一个比较困难的事情,很多家长在报考志愿的时候,都会问专家,孩子学这个专业有没有...
微信目前严打的就四个方面;频繁加人;外挂软件;用户投诉和违法信息。当然,还有非常严重的连坐效应。所以,养好自己的号,至关重要,今天先和大家说说加人方式和他的上限规则。通讯录导入加人 微信目前严打的就四个方面;频繁加人;外挂软件;用户投诉和违法信息。当然,还有非常严重的连坐效应。所以,养好自己的号,...
大家知道在谷歌SEO工具中怎么样去挖掘关键词来选品,在这篇文章中,将给大家带来了常用的谷歌SEO工具挖掘关键词,具体内容看看下文吧!官网:ck139.com。一、GoogleKe 大家知道在谷歌SEO工具中怎么样去挖掘关键词来选品,在这篇文章中,将给大家带来了常用的谷歌SEO工具挖掘关键词,具...
有关企业为何要做网络推广,对企业有什么作用益处,这针对很多企业很有可能都还没真实了解企业为何要做网络推广,互联网推广对企业有哪些实际益处,下边,知名品牌益众帮,就以互联网营销这一话 有关企业为何要做网络推广,对企业有什么作用益处,这针对很多企业很有可能都还没真实了解企业为何要做网络推广,互联网推广...
闲鱼是阿里巴巴旗下闲置交易平台。使用淘宝或支付宝账户登录,无需经过复杂的开店流程,即可达成包括一键转卖个人淘宝账号中“已买到宝贝”、自主手机拍照上传二手闲置物品、以及在线交易等诸多 闲鱼是阿里巴巴旗下闲置交易平台。使用淘宝或支付宝账户登录,无需经过复杂的开店流程,即可达成包括一键转卖个人淘宝账号中...
上次,我发过一篇《有哪些适合女生做的副业?》适合男生的当然也有!今天和大家分享比较适合男生做的兼职。体力&脑力变现,安排!01.兼职跑腿可以看做是跑腿、外卖兼职,也就是别人付费,帮 上次,我发过一篇《有哪些适合女生做的副业?》 适合男生的当然也有! 今天和大家分享比较适合男生做的兼职。...
“抖音第一网红”又换人了。3月底,“疯狂小杨哥”终于超过“刘德华”,成为粉丝量Top1的抖音网红。截至目前,疯狂小杨哥的抖音粉丝量达7242万。(统计不包括“人民日报”“央视新闻” “抖音第一网红”又换人了。 3月底,“疯狂小杨哥”终于超过“刘德华”,成为粉丝量Top1的抖音网红。截至目前,疯狂...
你知道未来十年最适合女生的专业都有哪些吗?大学里有众多的专业,可这么多的专业真正适合女生报考的并不是很多,甚至有一大部分就不适合女生报考,还有相当一部分专业女生报考之后不能就业。偏 你知道未来十年最适合女生的专业都有哪些吗? 大学里有众多的专业,可这么多的专业真正适合女生报考的并不是很多,甚至有...