STM32 开发常见问题汇总

2023-05-16

STM32 开发常见问题汇总

  • 一,STM32_Usart 串口异常
      • 四个错误检测标志:
      • 十个具有标志位的中断源:
    • 1. Usart中断事件
    • 2. Usart状态寄存器
    • 3. Usart问题解决
      • 3.1 什么是ORE中断?为什么会产生?

一,STM32_Usart 串口异常

四个错误检测标志:

  1. 溢出错误
  2. 噪声检测
  3. 帧错误
  4. 奇偶校验错误

十个具有标志位的中断源:

  1. CTS 变化
  2. LIN 停止符号检测
  3. 发送数据寄存器为空
  4. 发送完成
  5. 接收数据寄存器已满
  6. 接收到线路空闲
  7. 溢出错误
  8. 帧错误
  9. 噪声错误
  10. 奇偶校验错误

1. Usart中断事件

在这里插入图片描述

2. Usart状态寄存器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. Usart问题解决

3.1 什么是ORE中断?为什么会产生?

在这里插入图片描述

ORE标志位在USART_SR寄存器,但值得注意的是,当我们打开串口接收中断时,同时也就打开了ORE中断。

在这里插入图片描述
(2)如何解决?
在这里插入图片描述

ORE中断只能使用USART_GetFlagStatus(USART1, USART_FLAG_ORE) 读到
(没有使能USART_IT_ERR中断时)

if(USART_GetFlagStatus(USART1,USART_FLAG_ORE)== SET)//程序中断过多,主机的发送速度又快,很容易会造成溢出错误
		{
			USART_ClearFlag(USART1, USART_FLAG_ORE); //清除溢出中断
			USART_ReceiveData(USART1);//必须要读,不然清除不了
		}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 开发常见问题汇总 的相关文章

  • 把所阅读的文章背景/主题变成白色

    今天在CSDN找SVD分解的资料 xff0c 找到了一篇写的很好的文章 xff0c 但是它的主题是黑色的 xff0c 是黑色的 xff01 作为黑色主题深恶痛绝人士 xff0c 于是我便想把这篇文章的主题改成白色 我们作为读者似乎并没有这个
  • 计算机保研专业课必备之数据结构

    数据结构保研面试准备 算法的五大特征 有穷性 有限的步骤确定性 不可二义性可行性 每一步都是通过执行有限次数完成的输入 零个或多个输入输出 至少有一个或多个输出 O n 的大O是什么意思 xff1f 什么是时间复杂度 大O表示的是最坏情况下
  • Go语言快速的一键生成一个gRPC服务

    目录 前言 介绍 使用命令行工具 micro 生成 gRPC 服务 安装 xff1a 创建项目 xff1a 安装 protobuf 和依赖项 xff1a 构建并运行服务 xff1a 总结 前言 由于近期因为一些事情很久没更了今天带来一个Go
  • 编程实现在str1中查找str2的初始位置

    问题描述 有两个字符串str1和str2 xff0c 它们的长度都不超过100个字符 请编程实现在str1中查找str2的初始位置 输入形式 有两行输入 xff0c 第一行输入字串str1 xff0c 第二行输入字串str2 输出形式 一个
  • 数据挖掘Java——KNN算法的实现

    一 KNN算法的前置知识 k 近邻 xff08 kNN k NearestNeighbor xff09 是在训练集中选取离输入的数据点最近的k个邻居 xff0c 根据这个k个邻居中出现次数最多的类别 xff08 最大表决规则 xff09 x
  • thinkPHP生成微信支付平台证书

    1 先安装微信支付V3版本 xff1b 2 在目录 vendor wechatpay wechatpay下执行以下代码 xff1b 3 在本地VScode编辑器的终端运行命令行 xff0c 执行以下代码 xff1a composer exe
  • 数据挖掘Java——DBSCAN算法的实现

    一 DBSCAN算法的前置知识 DBSCAN算法 xff1a 如果一个点q的区域内包含多于MinPts个对象 xff0c 则创建一个q作为核心对象的簇 然后 xff0c 反复地寻找从这些核心对象直接密度可达的对象 xff0c 把一些密度可达
  • 数据挖掘Java——Kmeans算法的实现

    一 K means算法的前置知识 k means算法 xff0c 也被称为k 平均或k 均值 xff0c 是一种得到最广泛使用的聚类算法 相似度的计算根据一个簇中对象的平均值来进行 算法首先随机地选择k个对象 xff0c 每个对象初始地代表
  • 直立车学习笔记(一)

    直立车是通过两个电机的前后加速度来维持车体保持一定的角度 xff0c 调直立对于PID的理解有一个质的飞跃 xff0c 接下来我会不定期更新我学习直立车的成果和调PID的经历 xff0c 记录一下我的成果 xff0c 也让其他人学习一下 x
  • rtc使用

    首先我们要知道 xff0c rtc并非片上外设 xff0c 所以要通过连接总线以读取数据 什么是RTC RTC Real Time Clock xff1a 实时时钟 RTC是个独立的定时器 RTC模块拥有一个连续计数的计数器 xff0c 在
  • docker run命令总结

    运行 docker 容器时 xff0c 有时候我们希望它默认进入一个工作目录 xff0c 我们可以在 docker run 命令后追加参数 w 来实现 xff0c 这样我们就不需要在启动 docker 容器后再进行一次 cd 命令了 doc
  • 最新树莓派系统PUTTY用默认用户名和密码登录不上的解决方法

    最近我在树莓派配置深度学习环境 xff0c 然后直接载了别的博主的树莓派镜像 xff0c 发现博主给的用户名 xff0c 密码登不上 xff0c 于是乎 xff0c 就打算自己配置深度学习环境 xff0c 结果我下在了最新版本的树莓派镜像系
  • 关于嵌入式软件工程师的面试题(一)

    ARM是什么 xff1f ARM的分类 xff1f 1 1 是一家公司的名字 gt 专门生产IP核 xff08 内核 CPU xff09 gt 依靠专利授权盈利 1 2 是一系列ARM内核的芯片的代称 ARM7 xff0c ARM9 xff
  • 对比应用层和内核层区别

    1 应用层和内核层是计算机系统中的两个不同的层次 应用层是用户直接与计算机系统交互的层次 xff0c 它包括各种APP和libc xff08 Linux下的ANSI C的函数库 xff09 内核层是计算机系统的核心 xff0c 它提供了各种
  • uc/OS-III移植到stm32f103c8进行多任务实验

    文章目录 一 UCOSIII介绍1 简介2 UCOSIII中的任务 二 将uc OS III移植到stm32f103c81 创建CubeMx工程2 进行uCOS III的移植 三 构建三个任务1 代码添加 四 结果展示五 总结五 参考链接
  • Invalid bound statement (not found)出现原因和解决方法

    Invalid bound statement not found 出现原因和解决方法 出现的原因 xff1a mapper接口和mapper xml文件没有映射起来 解决方法 xff1a 1 mapper xml中的namespace和实
  • 服务器磁盘满了会导致ssl无法正常访问,进而导致网站样式错乱

    服务器磁盘满了会导致ssl无法正常访问 xff0c 进而导致网站样式错乱
  • 基于OpenMV和正点原子开发的自动追球小车(带云台舵机)

    电赛备赛前 xff0c 通过OpenMV加舵机云平台由 xff0c 做了一个追着球跑的小车 xff0c 由于疫情 xff0c 以前录制的视频也删除了 xff0c 最终呈现的效果和B站一位Up主的相似 xff0c 大家可以参考参考 xff0c
  • C语言For循环

    循环结构 xff1a 又称为重复结构 xff0c 在程序中处理问题需要重复处理 for循环语句 xff1a 使用灵活 可用于循环次数已确定或不确定循环次数的情况 for循环的一般结构 xff1a for xff08 表达式1 xff1b 表
  • Jetson tx2 安装jetpack_3.3手动安装cuda9.0,cudnn7.1

    1 刷机前的准备 xff08 写在前面的话 xff09 装有Ubuntu16 04或者Ubuntu18 04的电脑 xff0c 这里说的电脑可以是台式机也可以是笔记本与TX2区分开来 xff08 电脑是16 04或者18 04无所谓 xff

随机推荐

  • 【PX4无人机仿真】构建自己的ROS节点

    本篇文章主要是一个创建自己的ros节点的学习记录 xff0c 在学会创建简单的节点后 xff0c 参考一篇关于目标跟踪工作的博客进行了实践 xff0c 使用自己写的移动小球世界进行小球的跟踪 Demo参考 xff1a 无人机跟踪小车 文章目
  • 用U盘给nuc安装Ubuntu系统

    1 在Windows下载对应Linux的软件 xff08 一般为UNetbootin xff09 2 网上下载所需Ubuntu版本的iso文件 3 准备一个内存大于4g的U盘 4 双击运行第一步下载的软件 5 更改光盘镜像 xff0c 选择
  • keil5下载安装教程(附带兼容keil4方法)

    为了方便stm32和C51学习 xff0c 我收集资料整理了keil5的安装教程 xff0c 同时附带兼容keil4程序的方法 xff0c 避免大家在使用C51的时候再去安装keil4这个麻烦的过程 目录 一 可兼容keil4的keil5版
  • 第十三届蓝桥杯单片机设计与开发

    程序设计 客观题 感想 xff1a 这届单片机还是挺简单的 xff0c 和前几届的赛题有点像 xff0c 哦 xff0c 对 xff0c 就是第12届和第10届来着 大概2个半小时差不多全做完了 xff1b 当然客观题 xff0c 有几道不
  • PX4串口添加传感器—在QGC上添加串口数据显示

    前言 因为项目要求 xff0c xff08 在PX4上添加拉力传感器 xff0c 并把数据显示在QGC的地图上 xff09 xff0c 本人开始了苦皮的生活 从未接触飞控的我 xff0c 一来就是开发 烧脑掉发啊 但人生是无所畏惧的 在学习
  • STM32CubeMX——固件库下载以及安装

    前言 为了方便自己 xff0c 于是方便了大家 一 获取stm32Cube包 1 打开下面的链接 ST官网链接 2 下载stm32标准外设库 我要用STMCubeG413rbt6 xff0c 所以我选择STM32CubeG4系列 点击 点击
  • PX4串口添加传感器—QGC添加自定义mavlik消息

    简介 功能 xff1a 假设我想要飞控传输一个我定义的消息给地面站 xff0c 其地面站必须有一个接收处理的过程以及飞控处理发送的过程 我们传输的方式是mavlink通信方式 想要实现上面的功能 xff0c PX4和QGC就必须要有 1 修
  • 服务器扩容步骤

    第一步 xff1a 云服务器 ECS 云盘 扩容 勾选在线扩容 xff0c 提交订单 xff1b 第二步 xff1a 以此执行以下代码 xff1a 1 运行fdisk l命令查看现有云盘大小 root 64 ecshost fdisk l
  • PX4串口添加传感器—PX4添加自定义mavlik消息

    目录 1 建立 xml并生成mavlink自定义消息文件 1 1 打开终端克隆MAVLINK生成器 1 2 进入克隆目录 执行以下命令 1 3 随手建立储存文件夹 1 4 创建read uart sensor xml文件 1 5 打开MAV
  • 丢失ucrtbased.dll,缺啥补啥

    简介 xff1a 当我打包QGC的debug版本给别人 结果别人编译不了 xff0c 内容显示缺少ucrtbased dll文件 发现一个不错的网站 xff0c 缺少其他文件 xff0c 一样的方法 解决办法 xff1a 打开链接 xff1
  • 打开QGC软件主页没有显示,弹窗白板问题

    目录 问题描述 解决办法 问题描述 正常情况下 xff0c QGC打开是直接就弹出显示页面 但当我打开编译过的debug版本QGC xff0c 会出现一个大约1秒的弹窗 xff0c 之后QGC没有显示 我在旁边的任务栏中查看 xff0c 发
  • Ubuntu/Linux文件权限修改

    Ubuntu Linux文件权限 文件权限是指不同的用户或用户组对某个文件拥有的权限 xff0c 文件的权限分为三种 xff1a r xff1a 读 w xff1a 写 x xff1a 可执行 文件描述形式如下 xff1a rw rw r
  • RTOS必备基础

    RTOS必备基础 一 ARM基础知识1 ARM架构2 重要寄存器3 汇编指令详解读 xff1a load写 store加 ADD减 SUB出栈 push出栈 xff1a pop 4 栈和堆 xff1a 1 栈2 堆 5 局部变量和全局变量的
  • STM32必备知识点(面试和工作用的到)

    STM32必备知识点 xff08 面试和工作用的到 xff09 文章目录 STM32必备知识点 xff08 面试和工作用的到 xff09 前言嵌入式C基础一 位操作1 不改变其他位的值的状况下 xff0c 对某几个位进行设值2 移位操作提高
  • 嵌入式C语言必备知识(面试和工作都用得到)

    嵌入式C语言必备知识 xff08 面试和工作都用得到 xff09 一 基础部分1 数组与链表的区别 xff1f 2 C语言程序代码优化方法3 堆和栈的的区别 xff1f 4 内联函数的优缺点和适用场景是什么 xff1f 4 下面代码输出是什
  • SBUS协议介绍和标准例程

    SBUS信号例程详解 1 SBUS信号简介1 硬件标准2 软件标准1 串口配置 xff1a 2 协议格式 xff1a 3 数据范围4 间隔问题 2 STM32F4 Sbus xff08 DMA 43 串口 xff09 xff08 1 xff
  • RT-Thread静态线程和动态线程的区别

    RT Thread 内核采用面向对象的设计思想进行设计 xff0c 系统级的基础设施都是一种内核对象 xff0c 例如线程 xff0c 信号量 xff0c 互斥量 xff0c 定时器等 内核对象分为两类 xff1a 静态内核对象和动态内核对
  • UART协议入门

    UART 硬件连接关键词 xff1a 1 UART为串行异步协议2 TTL RS232 RS485是一种逻辑电平表示方式 3 帧格式 xff1a 1位空闲位 xff0c 5 9位的数据位 xff0c 1位校验位 xff0c 1 2位的停止位
  • git操作手册

    初始化一个Git仓库 xff0c 使用git init命令 添加文件到Git仓库 xff0c 分两步 xff1a 使用命令git add lt file gt xff0c 注意 xff0c 可反复多次使用 xff0c 添加多个文件 xff1
  • STM32 开发常见问题汇总

    STM32 开发常见问题汇总 一 xff0c STM32 Usart 串口异常四个错误检测标志 xff1a 十个具有标志位的中断源 xff1a 1 Usart中断事件2 Usart状态寄存器3 Usart问题解决3 1 什么是ORE中断 x