news 2026/6/10 15:58:11

基于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/10 12:33:55

如何快速解锁拯救者Y7000 BIOS:终极完整指南

如何快速解锁拯救者Y7000 BIOS:终极完整指南 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mirrors/le/LEGION_…

作者头像 李华
网站建设 2026/6/9 19:55:43

B站硬核会员AI答题助手:从技术原理到实战应用

B站硬核会员AI答题助手:从技术原理到实战应用 【免费下载链接】bili-hardcore bilibili 硬核会员 AI 自动答题,直接调用 B 站 API,非 OCR 实现 项目地址: https://gitcode.com/gh_mirrors/bi/bili-hardcore 还记得第一次面对B站硬核会…

作者头像 李华
网站建设 2026/6/10 12:38:20

9、利用DCGAN畅想新型户外建筑

利用DCGAN畅想新型户外建筑 1. 生成器与判别器的伪代码实现 在构建生成对抗网络(GAN)时,生成器(Generator)和判别器(Discriminator)的设计至关重要。以下是生成器和判别器的简单伪代码示例: 生成器伪代码 #!/usr/bin/env python3 importsclass Generator(object):…

作者头像 李华
网站建设 2026/6/10 12:37:20

TeslaMate终极部署指南:构建你的特斯拉专属数据监控平台

TeslaMate终极部署指南:构建你的特斯拉专属数据监控平台 【免费下载链接】teslamate 项目地址: https://gitcode.com/gh_mirrors/tes/teslamate 你是否曾经好奇自己的特斯拉车辆真实续航表现?想要深入了解电池健康状况和充电效率?Tes…

作者头像 李华
网站建设 2026/6/9 5:26:14

Dify可视化工具在智能客服场景中的应用实践

Dify可视化工具在智能客服场景中的应用实践 在客户每天通过微信、App或官网提出成百上千个问题的今天,企业客服团队正面临前所未有的压力:既要保证响应速度,又要确保回答准确;既要处理简单查询,又要应对复杂流程。更棘…

作者头像 李华
网站建设 2026/6/10 14:22:47

Dify平台实现AI应用从原型到生产的无缝过渡

Dify平台实现AI应用从原型到生产的无缝过渡 在企业纷纷拥抱大模型的今天,一个普遍现象是:团队能快速做出惊艳的AI演示原型,却迟迟无法将它稳定上线。为什么?因为从“能跑”到“跑得稳”,中间隔着一条由提示词混乱、数据…

作者头像 李华