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

数据发送流程

在发送模式下,UART 的串行数据发送电路主要包括一个发送移位寄存器(TSR),TSR 功能是将数据
逐个移位送出。待发数据必须先写到发送缓冲区中。
TXIFx 是发送中断标志位,可配置为发送缓冲区空或TSR 空。
数据的发送支持7bit 、8bit 或9bit 数据格式, 如果使用9bit 的数据格式, 必须先设置RXSTA.PDSEL[1:0]=11,第9 位数据要被放入TXSTA.TX9D 位之中。在数据发送之前,必须先将此位写入,然后再把8 位的值写入TXREG 中。因为一旦TXREG 寄存器被写入数据后,这个8 位的数据可能马上就会被放入TSR 寄存器开始发送工作,所以为了数据发送正确性,必须先写入第9 位的值。
一般情况下,一开始TSR 寄存器是空的,数据的发送需先设定波特率SPBRG,使能发送模块(设定TXEN 为1),然后写入TXREG 寄存器开始发送。也可以在设定好波特率SPBRG 后,先写入TXREG寄存器,然后再设定TXEN 使能发送模块来开始数据发送。如果在数据发送过程中将发送模块使能位TXEN 清0,那么数据发送工作就会被中断,发送模块也会被复位。
下图是UART异步发送的两种工作模式:
在这里插入图片描述
设置异步发送操作的步骤如下:

  1. 根据CPU 的工作时钟,选择合适的波特率,初始化SPBRG
  2. 若需要中断,置相应的UARTIE.TXIE=1
  3. 决定数据发送的格式。设定RXSTA.PDSEL[1:0]位,决定发送8 位数据还是9 位数据;设定TXSTA.STOPSEL位,决定发送 1 位还是 2 位停止位
  4. 如果希望发送的串行数据红外调制,向 IRCON 寄存器写入合适的值来获得相应的调制频率和占空比,并置TXSTA.IREN=1
  5. 使能发送模块。置 TXSTA.TXEN=1
  6. 如果选择发送 9 位数据,第 9 位应先写入 TXSTA.TX9D 位
  7. 将 8 位要发送的数据写入 TXREG 寄存器 启动发送

相关文章:

数据发送流程

在发送模式下,UART 的串行数据发送电路主要包括一个发送移位寄存器(TSR),TSR 功能是将数据 逐个移位送出。待发数据必须先写到发送缓冲区中。 TXIFx 是发送中断标志位,可配置为发送缓冲区空或TSR 空。 数据的发送支持7bit 、8bit 或9bit 数据…...

堆及其应用

堆是一种基于树结构的数据结构,通常用于实现优先队列。堆分为最大堆和最小堆两种类型,最大堆的每个节点的值都大于等于其子节点的值,最小堆则相反,每个节点的值都小于等于其子节点的值。 基础算法操作包括: 1. 插入元…...

MySQL数据库备份脚本

PS:此脚本简单易懂,根据实际情况修改个别参数测试后即可使用,如有错误请指出! 1.MySQL数据库备份脚本 #!/bin/bashuser pw ip dateYdate "%Y" date2date "%Y%m%d" date3date "%Y%m%d %H:%M" date…...

【2023 · CANN训练营第一季】应用开发深入讲解——第三章应用调试

学习资源 日志参考文档 应用开发FAQ 日志主要用于记录系统的运行过程及异常信息,帮助快速定位系统运行过程中出现的问题以及开发过程中的程序调试问题。 日志分为如下两大类: 系统类日志:系统运行产生的日志。主要包括: Contro…...

黎曼几何与黎曼流形

目录 0.黎曼几何 1. 欧几里得几何与黎曼几何的区别 2.黎曼流形 3.黎曼距离 4.切空间 5.黎曼均值 6. SPD矩阵如何形成黎曼流型 7.切线空间映射 8.同余变换和同余不变 9.黎曼对齐 科普性笔记,做了解,不深入。 0.黎曼几何 黎曼几何是一种基于欧几…...

lua | 运算符与字符串

目录 一、运算符 算数运算符 关系运算符 逻辑运算符 其他运算符 运算符优先级 二、字符串 转义字符 方法与用途 字符串截取 字符串大小转换 字符串查找与反转 字符串格式化 字符与整数的转换 匹配模式 本文章为笔者学习分享 学习网站:Lua 基本语法 | …...

NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成

NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成 原文来自:VERITAS 中文社区 2023-04-27 在执行恢复任务时,手动提取、更新数据库和实例并将其附加到 PostgreSQL 和 MySQL 是常规操作。而在最新的 NetBackup 10.2 版本中&am…...

ADRV9002官方例程开发过程中遇到的问题

开发环境:Vivado2021.2 HDL版本:hdl_2021_r2 GitHub - analogdevicesinc/hdl at hdl_2021_r2 no-OS版本:no_OS-2021_R2 GitHub - analogdevicesinc/no-OS at 2021_R2 (PS:也可以用Vivado2019.1开发&#xff0c…...

Figma转换为sketch,分享这3款工具

在我们的设计工作中,我们经常会遇到各种各样的设计文件相互转换的问题。 你经常为此头疼吗?当你遇到Figma转换Sketch文件的问题时,你是如何解决的?Figma转换Sketch文件有工具吗? 根据众多设计师的经验,本…...

淘宝天猫1688京东商品详情API接口,封装接口可高并发

要提供商品详情数据需要知道具体的商品信息,但通常商品详情数据应包括以下内容: 商品名称:商品的名称,以方便顾客对其进行识别和区分。 商品描述:一段让顾客能够全面认识商品的描述。应能够有效地展示商品的特性、功能…...

虹科荣誉 | 虹科工业物联网产品荣获中国自动化产业年会用户信赖产品奖!

2023 虹科荣获2021年度中国自动化产业年会用户信赖产品奖 近日,2023中国自动化产业年会于北京隆重举行。虹科工业物联网的产品“OPC UA Tunneller软件”凭借其产品优势和市场美誉度,通过层层选拔,在本次大会中荣获2021年度用户信赖产品奖。…...

SwiftUI 如何让文本自动支持查找和替换功能?

概览 有些情况下,我们需要为文本编辑器实现文本的查找和替换功能(find & replace),如果完全靠自已撸码还是比较棘手的。 所幸的是,从 SwiftUI 4.0 (iOS 16)开始,Apple 已经将查…...

SpringCloud全面学习笔记之初尝美妙篇

目录 前言初识微服务单体架构分布式架构微服务架构初见SpringCloud微服务治理分布式服务架构案例 微服务组件及使用Eureka注册中心提供者和消费者Eureka的结构和作用搭建Eureka服务注册服务服务发现Eureka注册服务总结 Ribbon负载均衡原理负载均衡原理负载均衡策略懒加载 Nacos…...

Spring MVC框架

Spring MVC框架 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spri…...

Illustrator如何使用图层与蒙版之实例演示?

文章目录 0.引言1.绘制可爱冰淇淋图标2.霓虹渐变立体文字海报3.炫彩花纹背景 0.引言 因科研等多场景需要进行绘图处理,笔者对Illustrator进行了学习,本文通过《Illustrator CC2018基础与实战》及其配套素材结合网上相关资料进行学习笔记总结,…...

Office Tool Plus的使用

是否为安装,卸载,激活Office而烦恼? 下载 地址:Office Tool Plus 官方网站 - 一键部署 Office 安装office 先安装Office,Office_Pro_Plus_2021_LTSCProjectVisio_x64_zh_CN_VL_2022-02 注意,要安装批量…...

​射频PCB 设计​的六大条技巧

即使是最自信的设计人员,对于射频电路也往往望而却步,因为它会带来巨大的设计挑战,并且需要专业的设计和分析工具。这里将为您介绍六条技巧,来帮助您简化任何射频PCB 设计任务和减轻工作压力! 1、保持完好、精确的射频…...

优化了成本和安装难度后,UWB信标能否取代蓝牙信标?

1 我们做安U3号是要解决什么问题? (1)信标式设计,解决传统UWB基站安装过程繁琐复杂的问题 传统UWB基站在安装过程中遇上的难题: l 安装位置选取问题:UWB基站的准确度与其安装位置有很大关系,…...

深入理解Java虚拟机——垃圾回收算法

1.前言 垃圾回收需要完成的三件事 首先我们需要明白垃圾回收需要完成的三件事: 哪些内存需要回收 堆内存中的对象所使用的内存方法区中的废弃的常量以及不再使用的类型 什么时候回收 当对象死亡方法区中某些内容(常量和类型)不再被使用 如…...

git-rebase和merge

A-----B----C----D master E----F-----G feature 为了把main分支里新增的代码应用在你的feature分支,你有两种方法:merge 和 rebase。 merge git checkout feature git merge main A-----B----C----D master E----F-----G -----* feature (合并master…...

DeepSeek-Coder-V2技术深度解析:从Mixture-of-Experts架构到企业级部署

DeepSeek-Coder-V2技术深度解析:从Mixture-of-Experts架构到企业级部署 【免费下载链接】DeepSeek-Coder-V2 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder-V2 在代码智能领域,开源模型长期面临着性能与闭源商业模型之间的巨…...

别再手动调参了!用C#和Halcon的HSmartWindow控件,5分钟搞定ROI绘制与参数提取

工业视觉开发革命:用C#封装Halcon ROI的智能实践 在半导体检测、精密零件测量等工业场景中,区域兴趣(ROI)的精准定义直接影响着算法效果。传统开发模式下,工程师需要反复在Halcon脚本与C#界面代码间切换,手…...

AUTOSAR CANFM模块中,BusOff恢复的50ms和1000ms周期到底怎么来的?底层驱动配置详解

AUTOSAR CANFM模块中BusOff恢复时序的硬件级解析 在车载ECU开发中,CAN总线通信的可靠性直接关系到整车功能安全。当节点因连续错误进入BusOff状态时,AUTOSAR标准定义的50ms快恢复周期和1000ms慢恢复周期并非随意设定,而是源于CAN控制器硬件特…...

科研党效率翻倍:Texmaker这些隐藏功能让你的论文排版快人一步

Texmaker科研效率革命:解锁高阶玩家的12个生产力加速器 在深夜实验室的灯光下,你盯着屏幕上纠缠不清的LaTeX代码,参考文献格式突然崩溃,数学公式编号混乱不堪——这场景是否似曾相识?Texmaker作为LaTeX编辑器的隐藏冠军…...

Qwen3-ASR-0.6B应用分享:打造智能语音助手的第一步

Qwen3-ASR-0.6B应用分享:打造智能语音助手的第一步 1. 语音识别技术的新选择 在智能语音助手、会议记录、客服系统等场景中,语音识别(ASR)技术正变得越来越重要。传统方案要么识别准确率不够高,要么需要消耗大量计算资源。Qwen3-ASR-0.6B的…...

Phi-3-mini-4k-instruct快速体验:Ollama部署教程与入门Prompt分享

Phi-3-mini-4k-instruct快速体验:Ollama部署教程与入门Prompt分享 1. 模型简介 Phi-3-Mini-4K-Instruct是微软推出的轻量级开源语言模型,具有以下核心特点: 轻量高效:仅38亿参数,适合在普通硬件上运行强大推理&…...

Windows 10/11防火墙设置:如何快速开启ICMP协议实现Ping功能(详细图文)

Windows系统ICMP协议配置全指南:从基础原理到高阶应用 在IT运维和开发工作中,网络连通性测试是最基础却又最频繁的需求之一。想象一下这样的场景:你正在部署一个关键服务,却发现客户端无法连接到服务器;或是远程协助同…...

汽车UDS刷写避坑指南:从S32K144 Bootloader的链接文件到安全访问,这些细节你注意了吗?

汽车UDS刷写实战避坑手册:S32K144 Bootloader开发中的七个致命细节 当你在凌晨三点的实验室里盯着CANoe窗口不断跳出的NRC 31(requestOutOfRange)错误码时,会不会突然怀念用J-Link直接烧录的简单日子?UDS刷写就像汽车电…...

Spring AI实战:从零构建智能聊天与图像生成应用

1. Spring AI初探:你的第一个智能聊天应用 记得第一次接触AI聊天功能时,我盯着那个能对答如流的对话框看了足足十分钟。现在用Spring AI框架,只需要四步就能实现同样的效果。先创建一个标准的Spring Boot项目,这个不用多说&#x…...

【网络安全基础】计算机网络基础:从TCP/IP协议栈到网络攻击原理

前言在网络安全领域,不懂网络协议,就如同不懂解剖学的医生。无论是分析网络攻击流量、配置防火墙规则,还是进行内网渗透,都离不开对网络协议的深入理解。本文将系统梳理计算机网络的核心知识——从OSI七层模型到TCP/IP协议栈&…...