STM32--USART串口(2)串口外设
一、USART简介

可配置数据位:不需要校验就是8位,需要校验就选9位;
停止位:决定了帧的间隔;
STM32F103C8T6USART:USART1挂载在APB2总线上,USART2和USART3挂载在APB1总线上;
二、USART框图

TXE:发送寄存器空;RXNE:接收寄存器非空;
波特率发生器:来源为APB2或APB1时钟的分频;
三、USART基本结构

右边的四个寄存器实际在软件层面只有一个寄存器DR;
写入DR时,数据走上面进行发送,读取DR时,数据走下面进行接收;
四、数据帧
1、字长设置

2、配置停止位

五、波特率发生器

采样时为了防止噪声干扰会对同一个状态进行连续16次的采样,所以内部的采样时钟是16倍的波特率。所以输入时钟 / DIV就要等于16倍的波特率。
eg:9600 = 72M / ( 16 * DIV )
DIV : 000111010100 | 1100(468.75)
六、数据模式
HEX模式、十六进制模式、二进制模式:以原始数据形式显示;
文本模式、字符模式:以原始数据编码后的形式显示;

七、printf
1、printf
printf默认输出到屏幕,但32没有屏幕,所以需要重定向;
1、勾上Use McrolLIB

2、包含头文件

3、重写fputc

2、sprintf
sprintf可以指定打印位置,不涉及 重定向的东西

3、封装sprintf

相关文章:
STM32--USART串口(2)串口外设
一、USART简介 可配置数据位:不需要校验就是8位,需要校验就选9位; 停止位:决定了帧的间隔; STM32F103C8T6USART:USART1挂载在APB2总线上,USART2和USART3挂载在APB1总线上; 二、USART框图 TXE…...
Unity之做一个最简单的FPS游戏demo
目录 😋FPS游戏Demo 💤1.新建FPS模板项目 ⚒️2.装备枪 💣3.设置射击功能 📺4.制造一个子弹预制体 🎮5.发射子弹 说起来小编学Unity差不多一个月了,都是利用上班摸鱼时间学的(doge.jpg&…...
【Springboot】单元测试Junit5应用
JUnit 5是一个功能强大的测试框架,常用于编写和执行这些单元测试。以下是一些JUnit 5中的常用注解、断言、前置条件、嵌套测试和参数化测试的例子: 1.环境启动 SpringBootTest 注解: classes SmartApplication.class:这个属性…...
【INTEL(ALTERA)】内部错误:子系统:PTI,文件:/quartus/tsm/pti/pti_delay_annotator.cpp
说明 由于英特尔 Quartus Prime Pro Edition 软件 23.2 及更早版本存在问题,因此在编译设计的 Retime 期间可能会出现此错误。 解决方法 此问题已在英特尔 Quartus Prime Pro Edition 软件 v23.3 中修复。 要在版本 23.2 中解决此问题,请通过以下相应链…...
大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置
上一篇: 大数据 - Spark系列《一》- 从Hadoop到Spark:大数据计算引擎的演进-CSDN博客 目录 1. 🥙Idea中配置Live Templates来快速生成代码片段 2. 🥙Idea中配置文件模板自定义初始代码 3.🥙设置spark-submit提交程…...
android 设置未知来源等 AppOpsManager 权限的设置接口
开始客户让我们执行下面的CMD 代码 adb shell appops set com.android.chrome REQUEST_INSTALL_PACKAGES allow 后来 GTP 告诉我有 Setmode的方法,后面在设置里面找到了 OP_REQUEST_INSTALL_PACKAGES 这个,里面有个方法mAppOpsManager.setMode(AppOp…...
使用GPT实现一个简单的网站
背景 In this exciting tutorial video, you’ll discover how to use 文心一言, a powerful language model developed by 百度, to generate ReactJS code for a simple blog website. With 文心一言’s help, you can quickly create a blog website that’s easy to custom…...
回归预测 | Matlab实现CPO-CNN-LSTM-Attention冠豪猪优化卷积长短期记忆神经网络注意力机制多变量回归预测(SE注意力机制)
回归预测 | Matlab实现CPO-CNN-LSTM-Attention冠豪猪优化卷积长短期记忆神经网络注意力机制多变量回归预测(SE注意力机制) 目录 回归预测 | Matlab实现CPO-CNN-LSTM-Attention冠豪猪优化卷积长短期记忆神经网络注意力机制多变量回归预测(SE注…...
11:Servlet中初始化参数的获取与应用-Java Web
目录 11.1 Servlet初始化参数简介11.2 如何在Servlet中获取初始化参数11.3 基于注解的初始化参数(Servlet 3.0)11.4 区别总结11.5 应用场景总结 在构建Java Web应用程序时,Servlet是核心组件之一,它负责处理HTTP请求并生成响应。而…...
STM32的ADC采集传感器的模拟量数据
1、 由于项目上使用传感器采集数据,传感器可以输出模拟电压信号,但是模拟电压信号的输出范围是1-5V,而STM32的ADC采集电压范围是0-3.3V,此时可以用一个简单的分压电路将1-5V的电压将至0.5V到2.5V的范围。 2、电阻分压电路可以使用…...
opencvb 十七 使用cmake配置opencv c++项目
1、cmake简介 1.1 cmake是什么 CMake是一个开源、跨平台的编译(Build)工具,是用来构建、测试和打包软件的。它能够用简单的语句来描述所有平台的编译过程。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C特…...
Java8 中文指南(一)
Java8 中文指南(一) 文章目录 Java8 中文指南(一)《Java8 指南》中文翻译接口的默认方法(Default Methods for Interfaces)Lambda 表达式(Lambda expressions)函数式接口(Functional Interfaces)方法和构造函数引用(Method and Co…...
引流技术-通过文件中增加联系方式并传播
文章目录 前言文档增加联系方式扩散网盘扩散自建网站借力 注意 前言 很多人在找资料的时候可能都遇到过下图情况: 1、文档最后面留一个自己的联系方式; 2、找的一堆文件中都有相同的情况; 3、一段时间全网搜到的很多相同文件也有这个联系方式…...
分布式搜索引擎_学习笔记_2
分布式搜索引擎_学习笔记_2 在昨天的学习中,我们已经导入了大量数据到elasticsearch中,实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。 所以今天,我们研究下elasticsearch的数据搜索功能。我们会分别使用…...
【学习笔记】树上差分总结(点差分/边差分)
一.树上差分的基本概念 1.树上差分的定义 树上差分,顾名思义,意思就是在树上做差分。 至于什么是差分呢?如果不会的同学,可以先看看我的这篇博客:一维,二维差分の详解(简单易懂)_一维差分-CSDN博客 2.树…...
Vue.js设计与实现(霍春阳)
Vue.js设计与实现 (霍春阳) 电子版获取链接:Vue.js设计与实现(霍春阳) 编辑推荐 适读人群 :1.对Vue.js 2/3具有上手经验,且希望进一步理解Vue.js框架设计原理的开发人员; 2.没有使用过Vue.js,但对Vue.js框架设计感兴趣…...
go消息队列RabbitMQ - 订阅模式-fanout
1、发布订阅 订阅模式,消息被路由投递给多个队列,一个消息被多个消费者获取。 1) 可以有多个消费者 2) 每个消费者有自己的queue(队列) 3) 每个队列都要绑定到Exchange(交换机&…...
科普类——5G远程实时操控技术在国内港口应用简介(十三)
在中国,5G远程实时操控技术已经在多个港口得到应用,并且应用规模不断扩大,展现出良好的发展前景。以下是一些具体的应用案例: 上港集团洋山港:上港集团与华为合作,在全球港口首次将F5G技术应用于超远程控制…...
整理:汉诺塔简析
大体上,要解决一个汉诺塔问题,就需要解决两个更简单的汉诺塔问题 以盘子数量 3 的汉诺塔问题为例 要将 3 个盘子从 A 移动到 C,就要: 将两个盘子从 A 移动到 B(子问题 1) 为了解决子问题 1,就…...
Android 8.1 设置--声音中增加通话音量
Android 8.1 设置--声音中增加通话音量 近来收到项目需求,想要在设置--声音中增加一项通话音量调节,具体修改参照如下: /vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml <!-- Sound: Title for the opt…...
SmallThinker-3B-Preview赋能网络安全:恶意流量日志的自然语言分析报告
SmallThinker-3B-Preview赋能网络安全:恶意流量日志的自然语言分析报告 最近和几个做安全运维的朋友聊天,他们都在抱怨同一个问题:每天上班第一件事,就是面对防火墙、WAF这些设备吐出来的成千上万条告警日志。里面全是看不懂的IP…...
【CASIA-SURF】《Multi-modal Face Anti-spoofing: How Large-scale Datasets Drive Robust Model Design》
1. 多模态人脸防伪技术的现状与挑战 人脸识别技术已经深入到我们生活的方方面面,从手机解锁到支付验证,再到门禁系统,这项技术正在改变着我们的生活方式。但随之而来的安全问题也日益凸显,各种伪造攻击手段层出不穷,比…...
设计一个简单的图书借阅管理系统。
设计一个简单的图书借阅管理系统。系统初始包含若干本图书,每本图书的信息包括: 书号(字符串) 书名(字符串) 作者(字符串) 库存数量(整数) 另外,系…...
别再折腾本地环境了!用Google Colab免费GPU跑通YOLOv8的保姆级教程
别再折腾本地环境了!用Google Colab免费GPU跑通YOLOv8的保姆级教程 第一次接触YOLO目标检测模型时,我被它强大的实时检测能力震撼了——直到尝试在本地配置环境。CUDA版本冲突、PyTorch安装报错、显卡驱动不兼容...这些坑让我的热情迅速降温。直到发现G…...
HSTracker终极指南:如何快速上手macOS炉石套牌追踪器
HSTracker终极指南:如何快速上手macOS炉石套牌追踪器 【免费下载链接】HSTracker A deck tracker and deck manager for Hearthstone on macOS 项目地址: https://gitcode.com/gh_mirrors/hs/HSTracker HSTracker是一款专为macOS玩家打造的炉石传说套牌追踪与…...
如何快速实现React组件热更新:React Hot Loader终极指南 [特殊字符]
如何快速实现React组件热更新:React Hot Loader终极指南 🚀 【免费下载链接】react-hot-loader Tweak React components in real time. (Deprecated: use Fast Refresh instead.) 项目地址: https://gitcode.com/gh_mirrors/re/react-hot-loader …...
Seata 1.6.1 + Nacos配置避坑指南:Windows环境从安装到整合SpringBoot的完整链路
Seata 1.6.1与Nacos深度整合实战:Windows环境下的全链路配置精要 当微服务架构遇上分布式事务,Seata无疑是Java开发者手中的瑞士军刀。但在Windows环境下,从零搭建Seata服务端到与SpringBoot应用无缝集成,这条路上布满的配置陷阱足…...
3步解锁魔兽争霸3性能潜力:从60帧到300帧的现代硬件优化实战
3步解锁魔兽争霸3性能潜力:从60帧到300帧的现代硬件优化实战 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸3作为经典RTS游戏&am…...
跨平台迁移零成本转换:MusicFree实现音乐收藏自由的完整指南
跨平台迁移零成本转换:MusicFree实现音乐收藏自由的完整指南 【免费下载链接】MusicFree 插件化、定制化、无广告的免费音乐播放器 项目地址: https://gitcode.com/maotoumao/MusicFree 当你从一个音乐平台转向另一个时,精心整理的歌单往往成为最…...
3步掌握高效Android OTA解包:payload-dumper-go终极指南
3步掌握高效Android OTA解包:payload-dumper-go终极指南 【免费下载链接】payload-dumper-go an android OTA payload dumper written in Go 项目地址: https://gitcode.com/gh_mirrors/pa/payload-dumper-go Android系统OTA更新包解压工具payload-dumper-go…...
