STM32的串口中断详解

目录

中断配置

中断服务函数

1. 中断服务函数名称查找

2. 中断服务函数 

​3. 可以选择的串口中断类型 

extern u8 USART_RX_BUF[USART_REC_LEN]

extern u16 USART_RX_STA


中断配置

使能接收中断


中断服务函数

1. 中断服务函数名称查找

2. 中断服务函数 

3. 可以选择的串口中断类型 

此处定义

其他文件中的声明


extern u8 USART_RX_BUF[USART_REC_LEN]

最大接收字节数


extern u16 USART_RX_STA

接收状态标记

extern u16 USART_RX_STA
bit15 bit14 bit13~0
接收完成标志 接收到0x0D标志 接收到的有效数据个数

0x0D是回车的ASCII码

0x0A是换行的ASCII码

若电脑发送了一串数据,则我们需要在电脑发送这串数据的最后加上0x0D

STM32分析接收到的数据,如果读到0x0D,则将bit14置1

STM32分析接收到的数据,如果读到0x0A,则将bit15置1

这里的0x0D和0x0A不会给bit13~0加1

外部函数只需要访问USART_RX_STA的bit15即可

若USART_RX_STA的bit15为1,则已经完成了一次接收了,而且我们知道,数据的长度是bit13~0

因此,我们只需要按照bit13~0到USART_RX_BUF中去读取即可

读取完成后,我们再把USART_RX_STA全部清0,以便下一次继续接收

使用电脑发送数据时,记得勾选发送新行,这样就会以0x0D和0x0A结尾

版权声明:本文为CSDN博主「CodeForCoffee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24118527/article/details/122731674

生成海报
点赞 0

CodeForCoffee

我还没有学会写个人说明!

暂无评论

相关推荐

Verilog实现按键消抖

Verilog实现按键消抖 一、简介 我们在进行按键的时候往往会发生抖动的现象。 通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地

STM32F1系列的ADC配置

目录 ADC引脚 注入通道与规则通道 1. 注入通道 2. 规则通道 ​ADC时钟 ADC的触发事件 ​ ADC的运行模式 1. 单次转换模式 2. 连续转换模式 3. 扫描模式  ADC的中断 ADC的时钟 RCC

STM32实现SPI通信1

目录 SPI的结构框图 STM32的SPI模块 从选择NSS管理 软件NSS 硬件NSS 时钟信号的相位与极性 数据帧格式 状态标志 SPI中断 STM32F103RCT6的SPI1引脚​ SPI模块引脚配置的GPIO模式

嵌入式C语言的寄存器地址映射

对于微处理器,一切的底层配置,最终都是配置寄存器 库函数的本质就是对寄存器的封装 映射文件: stm32f10x.h 根据Datasheet,STM32F1系列的GPIO共有7个寄