news 2026/6/4 23:38:15

基于ARMCortex-M4F内核的MSP432MCU开发实践【2.7】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于ARMCortex-M4F内核的MSP432MCU开发实践【2.7】
7.1.5 自动波特率检测

当UCMODEx控制位被配置为11时,就选择了带自动波特率选择的UART模式。对于UART自动波特率检测方式,在数据帧前面会有一个包含打断域和同步域的同步序列。当在总线上检测到11个或更多个0时,被识别为总线打断。如果总线打断的长度超过21位时间长度,则将置位打断超时错误标志UCBTOE。当接收打断域或同步域时,eUSCI_A不能发送数据。同步域在打断域之后,如图7-5所示。

在1字节里,同步域包含数据055h,如图7-6所示。同步是基于这种模式的第一个下降沿和最后一个下降沿之间的时间测量,如果通过置位UCABDEN控制位,将使能自动波特率检测功能,则发送波特率发生器通常用于时间的测量。否则,在该模式下只接收并不测量。测量的结果将被移送到波特率控制寄存器(UCAxBRW和UCAxMCTLW)中。如果同步域的长度超过了可测量的时间,将置位同步超时错误标志位UCSTOE。接收中断标志UCRXIFG置位后,可以读取结果。

在这种模式下,UCDORM控制位用于控制数据的接收。当UCDORM置位时,所有的数据都会被接收,但是,不会被移送到接收缓冲寄存器UCAxRXBUF中,也不会产生中断。当检测到打断域/同步域时,将会置位UCBRK打断检测标志位。在打断域和同步域之后的字符将会被发送到接收缓冲寄存器UCAxRBUF中,并置位接收中断标志位UCRXIFG。如果有错误,则相应的错误标志位被置位。如果UCBRKIE置位,打断域或同步的接收会置位UCRXIFG中断标志位。用户通过软件或读取接收缓冲寄存器UCAxRXBUF的值,可以复位UCBRK标志位。

当收到打断域和同步域时,用户必须通过软件复位UCDORM控制位,以继续接收数据。如果在此时,UCDORM仍保持置位,则只有打断域和同步域后的下一个字符能被接收。UCDORM控制位不能由eUSCI_A模块硬件自动进行修改。

当UCDORM=0时,所有的字符被接收之后,将置位接收中断标志位UCRXIFG。如果在接收一个字符期间,UCDORM控制位被清除,接收中断标志位将在该字符接收完成之后,置位接收中断标志位。

计数器用于检测波特率不大于0FFFFh(65535)的值。这意味着在超采样模式下,可检测的最小波特率是244;在低频模式下,可检测的最小波特率是15,最高可检测波特率为1M。

自动波特率检测模式能在带有某些限制的全双工系统中应用。当接收到打断域和同步域时,eUSCI_A不能发送数据。同时,如果接收到一个具有帧错误的0h字节,那么此时任何的数据发送都会遭到破坏。后一种情况可以通过检查接收数据和UCFE标志位来发现。

发送打断域和同步域的过程如下:

1)将UMODEx设置为11,并置位UCTXBRK标志位。

2)将055h写到发送缓冲寄存器UCAxTXBUF中,UCAxTXBUF必须做好接收新数据的准备(即UCTXIFG=1),并产生一个13位的打断域,随后会有打断分隔符和同步字符。打断分隔符的长度由UCDELIMx位控制。当同步字符从发送缓冲寄存器UCAxTXBUF移送到移位寄存器时,UCTXBRK将会自动复位。

3)将需要发送的数据写入发送缓冲寄存器UCAxTXBUF中,UCAxTXBUF必须做好接收新数据的准备(即UCTXIFG=1),然后数据将会移送到移位寄存器中。当移送完成后,数据会立即进行发送。

7.1.6 IrDA编码和解码

当置位UCIREN控制位时,将会使能IrDA编码器和解码器,并对IrDA通信提供硬件编码和解码。

1.IrDA编码

IrDA编码器会在UART数据流的基础上,对UART传输中的每一位0发送一个脉冲进行编码,编码方式如图7-7所示。脉冲的持续时间由UCIRTXPLx进行定义。

为了设置由IrDA标准要求的3/16位周期的脉冲时间,可通过设置UCIRTXCLK=1来选择BITCLK16时钟。之后将UCIRTXPLx配置为5,将脉冲时间设置为6个半时钟周期。

当UCIRTXCLK=0时,脉冲宽度tPULSE基于BRCLK,计算如式(7-1)所示。

UCIRTXPLx=tPULSE×2×fBRCLK-1 (7-1)

当UCIRTXCLK=0时,分频因子UCBRx必须设置为5或更大的值。

2.IrDA解码

当UCIRRXPL=0时,解码器可检测高电平或低电平。除了模拟抗尖峰脉冲滤波器,eUSCI_A内部还包含可编程数字滤波器

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/3 19:31:26

BongoCat桌面伙伴:为你的数字生活增添温暖互动

BongoCat桌面伙伴:为你的数字生活增添温暖互动 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作,每一次输入都充满趣味与活力! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 在日复一日的电…

作者头像 李华
网站建设 2026/5/30 20:53:41

汇编语言全接触-48.客户寄存器结构

我们将学习本教程中另外一个重要的结构,叫客户寄存器结构。在本文中,V86指虚拟8086模式。在这里下载例子程序理论VxDs与正常的win32/win16/DOS应用程序有很大不同。大多数情况下,当其他应用程序正常工作时,它们是休眠的。它们象一…

作者头像 李华
网站建设 2026/6/4 23:28:02

IINA播放器:macOS平台终极视频播放解决方案完整指南

IINA播放器:macOS平台终极视频播放解决方案完整指南 【免费下载链接】iina 项目地址: https://gitcode.com/gh_mirrors/iin/iina IINA是一款专为现代macOS系统量身打造的开源视频播放器,基于mpv播放引擎构建。这款免费软件提供了无与伦比的视频播…

作者头像 李华
网站建设 2026/5/30 3:42:13

fSpy-Blender相机匹配终极指南:从照片到3D场景的完整教程

fSpy-Blender相机匹配终极指南:从照片到3D场景的完整教程 【免费下载链接】fSpy-Blender Official fSpy importer for Blender 项目地址: https://gitcode.com/gh_mirrors/fs/fSpy-Blender 还在为3D模型与现实照片角度不匹配而苦恼?每次手动调整相…

作者头像 李华
网站建设 2026/5/28 22:07:55

【Open-AutoGLM模型实战指南】:从Git源码到本地部署的完整路径揭秘

第一章:Open-AutoGLM模型git地址Open-AutoGLM 是一个开源的自动化通用语言模型框架,旨在简化大语言模型在多任务场景下的部署与调优流程。该项目由国内研究团队主导开发,已在 GitHub 上公开其完整源码,便于开发者学习、复现与二次…

作者头像 李华
网站建设 2026/5/31 5:48:20

联想个人云 WebDAV 避坑指南:常见问题全解析,文件同步再也不卡壳!

越来越多联想个人云用户开始解锁 WebDAV 功能,用它实现跨设备文件同步、远程访问存储资源,大幅提升了文件管理效率。但在实际使用过程中,不少人会遇到各种棘手问题:连接失败、同步速度慢、文件上传下载报错、权限设置混乱…… 这些…

作者头像 李华