
通信方式 1. 并行通信 数据的各个位同时传输 2. 串行通信 数据按位顺序传输 数据传送方式:单工,半双工(不支持两个方向同时传输),全双工 串行通信 1. 同步通信 带有时钟信号的就是同步通信 SPI I2C 2. 异步通信 必须双方约定波特率 UART 单总线 常见的串行通信接口 ![]() UART的特点 全双工异步通信 分数波特率发生器系统,提供精确波特率 可编程数据字长度,8位或9位 可配置的停止位 可配置的使用DMA多缓冲器通信 单独的发送器和接收器使能位 检测标志:1,接收缓冲器,2,发送缓冲器空,3,传输结束标志 多个带标志位的中断源,触发中断 校验控制,4个错误标志位 UART数据帧 起始位 数据位 奇偶校验位 停止位 波特率设置 ![]() UART框图 ![]() ![]() USART_SR状态寄存器 ![]() ![]() USART_DR数据寄存器 ![]() USART_CR1控制寄存器 ![]() ![]() USART_BRR波特率寄存器 ![]() 波特率计算 ![]() ![]() 串口配置与操作相关的配置函数 stm32f10x_usart.h ![]() stm32f10x_usart.c ![]() USART_Init ![]() 先看一下入口参数 ,一个是串口编号,一个是结构体指针 ![]() 看一下结构体指针的结构体类型 ![]() 串口配置的步骤 1. 串口时钟使能,GPIO时钟使能 ![]() 2. 串口复位 ![]() 3. GPIO端口模式设置 ![]() 4. 串口参数初始化 ![]() 5. 开启中断并初始化NVIC ![]() 6. 使能串口 ![]() ![]() 7. 编写中断处理函数 ![]() 8. 串口发送接收数据 ![]() 9. 串口传输状态 ![]() ![]() ———————————————— 版权声明:CodeForCoffee |
【STM32U3评测】实现双通道串口通信系统
OpenBLT移植到STM32F405开发板
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
【NUCLEO-WB09KE评测】STM32WB09KE的内部BootLoader使用
11111111111111111111111111111111111
STM32芯片ISP串口程序一键下载—FlyMcu
如何使用CubeMX实现STM32的串口通信以及对printf等函数的重定向
基于STM32串口中断之缓存区溢出卡死经验分享
基于STM32 Azure USBx 开发的经验分享
NUCLEO-U545RE-Q评测】4. 串口实用收发测试