STM32中遇到的问题--关于串口的一些常见问题

2023-11-09

	在单片机的开发过程中,最常用的外设就是串口了,是用来进行bug纠错、log输出的常用工具,也是用来与外部通讯的常见协议之一。
	但是在使用串口的过程中难免会遇到一些问题,下面就我在工作遇到的一些问题做了一些记录,与大家分享,其实也是为了自己在以后遇到同样或者解决思路相似的问题时能够节省时间。(我在工作过程中使用的MCU主要为stm32系列)

   首先当然是对串口初始化。
   usart初始化主要分几个步骤。
   1  引脚功能的复用
   2  串口参数的设置,如波特率,停止位,数据位等...
   3  需要的中断功能的配置,如接受中断,空闲中断,溢出中断等...
   4  使能串口

下面具体来说一说:
引脚功能的复用
主要是将对应的引脚复用为UART-TX UART-RX,这里常见的问题可能回出现在:
1 引脚所在的时钟没有使能
2 复用功能选择寄存器(AFR)没有选中对应的功能
3 如果出现RX接收不到数据的情况,有可能是没有接外部上拉电阻,可以试着给引脚加上内部上拉
二 串口参数的设置
这里倒不是会有很大的问题
三 中断设置
1 NVIC中断优先级设置
2 开启对应的中断

开启了相应的中断就要在中断函数中对其做处理,防止重复进入中断。比如说开启了溢出中断,就要先读SR,在读DR,可以防止重复进入溢出中断。

其次就是串口的应用了,数据的接收与发送。
一  数据的接收
1  数据的接收处理要保证数据的完整性,同时最好是要及时处理。这里数据接收完成时可以通过串口的空闲中断来发送消息告知某线程或者设置某个标志位以使主程序能够识别到串口接收完成ÿ
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32中遇到的问题--关于串口的一些常见问题 的相关文章

  • 计网第五章(运输层)(七)(TCP的连接建立)

    目录 一 基本概述 二 连接建立 1 基本任务 2 具体实现 三 经典问题之为什么不用 两次握手 一 基本概述 在前面的部分提到过 TCP是基于运输连接来传输TCP报文段 所以TCP的连接和释放是每次面向连接的通信过程中必不可少的过程 TC
  • 7-16 插松枝

    人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上 做成大大小小的松枝 他们的工作流程 并不 是这样的 每人手边有一只小盒子 初始状态为空 每人面前有用不完的松枝干和一个推送器 每次推送一片随机型号的松针片 工人首先捡起一根空的松枝干
  • Flutter中深入了解MaterialApp,常用属性解析

    一 Flutter中结构图 Flutter Framework Foundation Animation Painting Gestures合成了Dart UI层 对应的是Flutter中 dart ui 包 对应的含义是动画 手势 绘制能
  • Android compileSdkVersion 升级到33

    compileSdkVersion minSdkVersion 和 targetSdkVersion 1 minSdkVersion 应用兼容的SDK API最低版本 若手机系统低于minSdkVersion将无法安装 AndroidStu
  • MYSQL字符串大小写 缺省行为

    今天遇到一个主键冲突的文件 我看两条记录的主键明明不一样 一条是大写的JAA 另外一条是小写的jaa 莫灰是mysql对字段的值不区分大小写 在网上查了一下 还真是 默认情况下 找了一篇文章 摘自 http www oklinux cn h
  • Starting the Docker Engine...一直转圈

    真是服了 网上一大堆解决教程 不管咋样就是转圈 就是打不开 好家伙 原来是要登录账号才行 奶奶的 账号以登录 立马就OK了 白费我好大的心血和时间 右上角 登录账号
  • VS Code快捷键MAC环境(持续更新)

    VS Code内打开终端 ctrl

随机推荐

  • hbuilder打包ios所需的IDP/IEP证书创建流程

    在uniapp开发进行云打包的时候 打包Ios应用需要IDP IEP证书和证书profile文件 无论使用windows电脑 还是mac电脑 生成ios证书 需要苹果开发者账号 假如你还没有苹果开发者账号 你可以参考下文先到苹果开发者中心开
  • 微信公众号订阅通知介绍

    功能介绍 订阅通知是一个用户主动订阅 服务号按需下发的通知能力 使用过程请遵守 微信公众平台服务协议 微信公众平台运营规范 如有疑问 可在微信开放社区反馈 设置订阅功能 服务号可以在图文消息 网页等场景设置订阅功能 下发条件 用户在前述场景
  • mybatis 自动填充无效_mybatis-plus3.3.0自动填充方法有改变?

    源自 mybatis plus3 3 0自动填充方法有改变 Slf4j Component public class MyMetaObjectHandler implements MetaObjectHandler Override pub
  • git 服务器 文件目录结构,查看Jenkins 服务器上的目录结构

    1 很多同学 不太清楚 默认的Jenkins安装后 文件在服务器 的哪个目录 其实 大家随便构建一个JOB 看 控制台输出 是的 Jenkins的所有文件 存储在 root jenkins这个文件夹 2 通过xshell等工具 进入 jen
  • 网页设计规范 网页设计稿尺寸

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 移动端H5设计稿尺寸 移动端H5尺寸 设计移动端 H5 项目的时候 我们一般以用户量较高的 iPhone6 7 8的尺寸 750x1334px为准 然后我们要在顶部预留出微
  • Native memory allocation (mmap) failed to map 6215958528 bytes for committing reserved memory

    今天突然发现es报错 无法正常启动 报错信息如下 Exception in thread main java lang RuntimeException starting java failed with 1 output There is
  • 【微信小程序入门到精通】— 渲染列表的详细方法

    目录 前言 一 引入 wx for 1 1 wx for 语法结构 1 2 wx for 实例 二 wx key 应用 总结 前言 对于目前形式 微信小程序是一个热门 那么我们该如何去学习并且掌握之后去做实际项目呢 为此我特意开设此专栏 在
  • CVE-2021-3493漏洞复现案例(提权)

    下面复现需要在虚拟机中完成 CVE 2021 3493漏洞案例 可以在下面链接下载关于该漏洞的代码脚本 https github com inspiringz CVE 2021 3493 1 攻击工具及环境说明 在虚拟机上完成 Ubuntu
  • 【已更新】2023mothercup妈妈杯D题数学建模挑战赛思路代码-航空安全风险分析和飞行技术评估问题

    我们来看下D题 这道题是一道数据分析类题目 总共有五个小问 第一题是要求我们针对附件1的数据质量开展可靠性研究 提取与飞行安全相关的部分关键数据项 并对数据项的重要程度进行分析 第一步是对数据的可靠性分析 数据质量的可靠性研究主要包括数据完
  • win32 socket编程 示例(功能简单,完善)

    最近在做的一个项目要用到网络通信方面的内容 于是自学了下win32socket 原来自己学过计算机网络 只了解网络各层的原理 但没有真正的编程来实现这些原理 哎 不过现在还来得及 下面是自己的一个示例 虽然简单 但了解了它 就知道了最基本的
  • Idea 学生认证

    Idea 学生认证 具体步骤 认证地址 操作如图 具体步骤 认证地址 https www jetbrains com community education students 操作如图 学生邮箱会收到来信 认证完成
  • linux常用命令笔记(二)

    2020 03 18 一 echo 1 原文输出 双引号可加可不加 echo hello world echo hello world 2 输出变量的值 echo 变量名 echo PATH 输出环境变量PATH的值 注意 linux环境变
  • 每一代内存的读写速度大概是多少?

    每一代内存的读写速度大概是多少 原文 https zhidao baidu com question 1797460631148535467 html 内存 有核心频率 I O频率 等效频率 最后由等效频率而算出带宽 带宽就等于内存的速度
  • vite+react+ts+eslint+prettier构建react开发项目

    目录 一 构建项目 二 安装eslint和prettier的依赖 三 修改 eslintrc cjs 创建 prettierrc cjs 1 eslintrc cjs文件配置 2 prettierrc cjs文件配置 三 将错误显示在页面上
  • 蓝桥杯嵌入式CT117E-M4学习笔记08-串口通信实验

    文章目录 前言 一 实验原理 二 配置步骤 三 串口发送 1 直接使用HAL USART Transmit发送 2 使用重定向prtinf函数发送 四 串口接收 总结 前言 本节我们学习开发板的串口通信 一 实验原理 1 串口通信原理 详见
  • 浏览器的渲染机制、提升页面性能、错误监控上报

    js运行机制 微任务队列 事件循环 单线程 错误监控 CSRF防范 css盒模型 Dom事件 原型链
  • 接口测试工具-apipost

    apiost Postman Swagger Mock 功能特色 实现多人实时协作 接口自动化测试 选择接口 组成流程 执行流程 基于接口创建在线文档可分享 官网 Apipost API 文档 调试 Mock 测试一体化协作平台 API列表
  • 02.07_两个链表相交

    给你两个单链表的头节点 headA 和 headB 请你找出并返回两个单链表相交的起始节点 如果两个链表没有交点 返回 null 解法一 如果两个链表有相交 那么从后面看一定是相同的 所以只需要把长的移动到和短的链表一样的长度开始遍历即可
  • 低成本副业:开发小程序商城攻略

    随着互联网的普及和电子商务的兴起 越来越多的人选择做点副业 其中开发小程序商城是一个不错的选择 相比传统的实体店 小程序商城的成本更低 而且门槛更低 可以让更多的人参与到副业中来 那么 如何开发自己的小程序商城呢 下面为大家介绍步骤和技巧
  • STM32中遇到的问题--关于串口的一些常见问题

    在单片机的开发过程中 最常用的外设就是串口了 是用来进行bug纠错 log输出的常用工具 也是用来与外部通讯的常见协议之一 但是在使用串口的过程中难免会遇到一些问题 下面就我在工作遇到的一些问题做了一些记录 与大家分享 其实也是为了自己在以