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 的功能,支持格式化输出。