当前位置: 首页 > news >正文

做的网站百度没收录淘宝排名查询工具

做的网站百度没收录,淘宝排名查询工具,盗图来做网站,订阅号怎么做网站1、问题描述 STM32L051 这款单片机。平常的 USART 串口传输是 8 位数据,但是他的项目需要用串口传输 9 位数据。当设置为 8 位数据时,串口响应中断正常。但是,当设置为 9 位数据时,串口就不产生中断了。USART2 的 ISR 寄存器 RXN…

1、问题描述

STM32L051 这款单片机。平常的 USART 串口传输是 8 位数据,但是他的项目需要用串口传输 9 位数据。当设置为 8 位数据时,串口响应中断正常。但是,当设置为 9 位数据时,串口就不产生中断了。USART2 的 ISR 寄存器 RXNE 位被置1,RDR 寄存器接收到了数据,就是不产生中断,数据也读不出来。请问是不是 HAL 库函数哪里出了 bug?另外,客户还补充说,使用 STM32CubeMX 进行配置并创建的工程代码。

2、问题分析

客户表达的意思就是说,他使用 8 位数据格式进行 USART 通信时一切 OK,UART 中断也
正常,说明人家对这个模块的使用还是熟悉的。但使用 9 位数据格式时发生异常了。大致意思是
说使用 9 位数据格式后数据貌似也收到了,RXNE 也置位了,就是基本的中断没法产生。落脚点
就是怀疑 ST 的相关 HAL 库函数是不是有 Bug。

说实话,本人之前也没有使用 USART 的 9 位数据格式做过工程或验证测试。现在客户的重
点是怀疑库的 Bug 问题。先打开相应库函数,扫了几眼并未能看出代码有什么不妥的地方。然
后,打开手册,看看 L05X 系列芯片的 USART 到底支不支持 9 位数据格式的传输。
在这里插入图片描述
经核对手册,STM32 芯片的 USART 都是支持 9 位数据格式的,包括低功耗 LPUART。

3、问题验证

既然这样,手册明确了芯片的 USART 支持 9 位数据格式。赶紧找一块跟客户同一个系列的
开发板 32L053DISCOVERY 做针对性的测试验证。

因为客户使用的是 USART2,所以我开始也是使用 STM32L051 的 USART2 进行测试,巧的是,测试结果似乎不如人意,接收都成问题。结合方才阅读各个系列的手册得知,STM32 系
列的 USART 都支持 9bit 数据格式。刚好手边有块 STM32G4 系列的板,任意选了个片上的
USART 进行测试,也是采用中断方式进行收发。这次很顺利,收发正常。
这个验证可以初步肯定我们的相关库代码是没问题的,因为 HAL 库针对公共功能的代码是一样的。然后我再回过来基于 32L0538DISCOVERY 开发板进行验证,发现原来是这块开发板上的 USART2 所使用的GPIO 已作他用,有两个跳线焊盘没有连接,所以并没有实际连接到排针上,所以使用前检查一下电路图很重要。这次我干脆就用其兄弟 USART1 来进行测试,这次非常顺利。同时也比较了USART1 和 USART2 的特性,这个地方二者没有差别。断定问题出在客户的配置或应用代码上,我们的库没有问题。
之后,我将基于 STM32CubeMX 的配置和测试代码提供给客户进行参考、验证。

4、验证演示

相信并不是很多人使用过这个 USART 的 9 位数据通信格式,应用或许有点小众。越是涉及
这种相对小众的应用功能,我们在开发过程若遇到不顺时,往往可能怀疑自己用得对不对,或者
说这玩意到底能不能用。基于这个想法,我也顺便将 STM32 USART 9 位数据格式基于 HAL 库
的实现分享出来,包括中断方式和 DMA 方式。
实现过程很简单,该功能能用、可以用,将来某日有需要实现该应用时可以信心满满,不必
担心到底能不能用而内心摇摆不定、调试时动力不足。
基于 STM32CubeMX 的配置【注:选择 9 位数据格式时没有校验位了】:
在这里插入图片描述
定义了 2 个 16 位用于收发的测试数组:

uint16_t Txdata[]={1,1,1,1,1}; //初始值根据个人喜好来
uint16_t Rxdata[5];

中断方式需要调用的 API 函数:
在这里插入图片描述
使用中断方式时,在 STM32CubeMX 配置时记得使能 USART 相关收发中断。
下面是中断方式的用户测试代码,供参考。不停地修改发送值,每次发送一组 5 个相同的数
据后,下一组每个数都加 1 再继续送,查看接收是否正常。
在这里插入图片描述
如果使用 DMA 模式,要针对 DMA 功能再配置一下。这里我把 RX 功能配置为 DMA 循环
接收,TX 功能配置为 DMA Normal 模式。
在这里插入图片描述
在这里插入图片描述
下面是 DMA 方式的用户测试代码,供参考。不停地修改发送值,查看接收是否正常。
在这里插入图片描述

5、问题小结

这里基于客户的咨询,将整个验证测试过程整理分享出来,希望给未来首次涉及相关应用的
同仁有个参考,并提供强有力的开发信心。

本文档参考ST官方的《【应用笔记】LAT1361+STM32的USART能否支持9位数据格式话题》文档。

http://www.fp688.cn/news/163450.html

相关文章:

  • 南昌市东站建设公司营销策略4p分析怎么写
  • 给人做网站的武汉seo推广
  • 河南高端网站建设比较靠谱的电商培训机构
  • wordpress查询数据库插件seo标题优化是什么意思
  • 绵阳做网站优化上海网络seo
  • 诚信通国际网站怎么做关键词查找的方法有以下几种
  • 长春市长春网站建设网温州高端网站建设
  • 郴州网站建设专业定制百度发布信息怎么弄
  • 英文网站提交产品怎么做市场推广
  • 网站建设培训招生乔拓云智能建站
  • 网站日常维护方法网页广告调词平台
  • 优质网站的衡量标准郑州网站推广报价
  • 论坛类型的网站怎么做河南百度关键词优化排名软件
  • 西安俄语网站建设站长工具是干嘛的
  • wordpress 存储视频优化网站标题
  • 实体店做团购有那些网站长春seo排名公司
  • wordpress 下拉加载关键词优化技巧有哪些
  • Wordpress的高级版网站关键词优化应该怎么做
  • 网站开发表格整体页面居中外贸平台有哪些?
  • 旅游类网站设计模板下载百度网站收录入口
  • 淘宝客网站做app全球网站流量排名查询
  • 怎么解决360导航的网站建设网络推广的方法有多选题
  • 未明潮网站建设保密协议福州百度seo代理
  • 手机怎么建网站拓客软件哪个好用
  • 做变态小视频网站吸引人的微信软文范例
  • 微信网站是多少钱一年优化设计答案五年级下册
  • 重庆市建设医院网站首页北京疫情又严重了
  • 网站开发的完整流程图营销策划培训
  • 做哪种类型网站赚钱公司营销网站建设
  • 网站备案主体是什么seo优化排名教程百度技术