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结尾
STM32的串口中断详解相关推荐
- STM32开发 -- 外部中断详解
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/87376865 在讲三轴加速度计的时候,提到外部中断.接下来就看看中断为什么这 ...
- STM32开发 -- 低功耗模式详解
很多单片机都有低功耗模式,STM32 也不例外.当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗. 这部分不是我负责,但是也是有必要看一下的. 参看: STM32F1开发指南-库函数版本_ ...
- 【STM32】标准库与HAL库对照学习教程八--串口通信详解
[STM32]标准库与HAL库对照学习教程八--串口通信详解 一.前言 二.准备工作 三.通信的基本概念 1.通信方式 2.串行通信与并行通信 (1)串行通信 (2)并行通信 3.异步通信与同步通信 ...
- STM32串口通信详解以及通信异常或者卡死常见问题分析
STM32串口通信详解以及通信异常或者卡死常见问题分析 目录 STM32串口通信详解以及通信异常或者卡死常见问题分析 一.常见的异常问题 二.STM32的串口简介 1.串口的通讯方式 ①按数据传输方向 ...
- delphi 串口通信发送_STM32第五章串口通讯详解
点击上方"果果小师弟",选择"置顶/星标公众号"干货福利,第一时间送达! 串口通信是串行通信里面的异步方式.串行通信是相对于并行通信来说的.串口是一个事实存在的 ...
- STM32—— AHB、APB详解
STM32-- AHB.APB详解 2016-07-14 20:35 590人阅读 评论(0) 收藏 举报 本文章已收录于: 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.概括 首先 ...
- stm32项目平衡车详解(stm32F407)下
stm32项目平衡车详解(stm32F407)下 本文章学习借鉴于创客学院团队,以表感谢.教学视频 B站学习地址 HC-SRO4 超声波测距避障功能开发 TSL1401 CCD摄像头实现小车巡线功能 ...
- 如何用c语言编写stm32的程序吗,STM32入门C语言详解
<STM32入门C语言详解>由会员分享,可在线阅读,更多相关<STM32入门C语言详解(6页珍藏版)>请在人人文库网上搜索. 1.最新 料推荐阅读 flash : 芯片内部存储 ...
- 【STM32-I2C学习总结】STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC
STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC 一 .I2C物理层 二.协议层 1.I2C基本读写过程 (1)主机写数据到从机 (2)主机由从机中读数据 (3)I2C 通讯复合 ...
最新文章
- 委托、多播委托(MulticastDelegate)
- gcc编译选项-o和-c介绍
- MATLAB从入门到精通:MATLAB识别 自带手写数字集的CNN(LeNet5)
- what is the meaning of bring you up to speed?
- linux7 语言包,Centos 7中文语言包的安装及中文支持
- Apache Tiles的使用 前配置
- 【Vue 3.0 新特性(四)】Vue 3.0 响应式系统原理
- Java8新特性_接口中的默认方法
- AngularJS学习笔记之二:开发、调试和测试工具
- JSP脚本连接数据库
- 金蝶K3WISE V14.0注册方法
- Flutter 自定义CheckBox (用于兴趣爱好、风格选择)
- matlab导出高分辨率图片,Matlab导出高DPI图像——生成高分辨率.eps .tiff .jpg
- PyGame实现小游戏案例[小甲鱼 PlayTheBall]
- 安装Oracle XE 18c
- RegNet网络结构与搭建
- IEMS_8_图片识别_2
- oracle查看所有表信息和字段信息以及注释信息等
- JavaScript网页特效-留言板
- 丁神去谷歌-北邮OJ416