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

STM32 串口发送

STM32微控制器内部集成了多个USART(通用同步/异步收发传输器)或UART(通用异步收发传输器)外设,为串口通信提供了硬件支持。以STM32F103系列为例,它通常配备多个USART接口。这些串口外设具备丰富的功能特性,包括可编程的波特率发生器,可灵活适配不同的通信速率;支持多种数据位长度(如8位、9位)、停止位配置(1位、2位)以及校验方式(奇校验、偶校验、无校验);还拥有多种中断和DMA(直接内存访问)模式,能够满足不同场景下的数据传输需求,无论是简单的查询方式传输,还是高效的中断或DMA传输,都能轻松应对。

通过调用 RCC_APB2PeriphClockCmd 函数,使能对应串口外设(如USART1)以及相关GPIO端口(如GPIOA)的时钟。只有时钟使能后,外设才能正常工作。

串口通信需要用到特定的GPIO引脚作为发送(TX)和接收(RX)引脚。对于STM32F103的USART1,通常使用GPIOA的Pin9作为TX引脚,Pin10作为RX引脚。在初始化时,需要将这些引脚配置为复用推挽输出模式(对于TX引脚)或浮空输入模式(对于RX引脚),以满足串口通信的电气特性要求。

使用 USART_Init 函数对串口的各项参数进行配置,包括波特率、数据位长度、停止位、校验方式以及通信模式(仅发送、仅接收或收发模式)

serial_sendByte 函数实现了单字节数据的发送。

serial_sendArray 函数用于发送一个字节数组。

serial_sendString 函数专门用于发送字符串。

serial_sendNumber 函数可将数字转换为字符串形式并发送。

serial_printf 函数实现了类似标准库 printf 的功能,支持格式化输出。

http://www.lryc.cn/news/609127.html

相关文章:

  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘scikit-learn’问题
  • Linux环境下使用Docker搭建多服务环境
  • 学习游戏制作记录(实现克隆攻击的克隆复制和水晶代替克隆)8.3
  • 【gradle】插件那些事
  • 7.28-8.3周报
  • C的数据类型与变量
  • 高质量数据集|从武汉光谷《面向科技情报大模型的高质量数据集建设》招标项目谈起
  • Matlab算法编程示例4:数值解法求解常微分方程的代码实例
  • deep research|从搜索引擎到搜索助手的实践(一)
  • Android 之 MVC架构
  • TVS二极管数据手册解读
  • kraft的设计与实现
  • 【数据结构】队列的顺序存储与链式存储(C语言版)
  • 深度学习中的模型知识蒸馏
  • 【Bluetooth】【Transport层篇】第三章 基础的串口(UART)通信
  • 文本换行问题
  • Jetson Orin NX/NANO+ubuntu22.04+humble+MAVROS2安装教程
  • 【从零开始学习Redis】初识Redis
  • [Oracle] DUAL数据表
  • CAP 理论笔记
  • 推荐系统学习笔记(九)曝光过滤 Bloom Filter
  • 【领域热点】【Vue】Vue 与 WebAssembly:前端性能优化的黄金搭档
  • 自动驾驶中的传感器技术18——Camera(9)
  • Connection refused: no further information: localhost/127.0.0.1:2375
  • docker 可用镜像列表(长期免费)
  • Azure DevOps — Kubernetes 上的自托管代理 — 第 4 部分
  • Docker环境离线安卓安装指南
  • centos9 安装docker engine
  • C++ : 反向迭代器的模拟实现
  • Java基本技术讲解