【stm32学习】STM32F103相关特性
| 名称 | 缩写 | 频率 | 外部连接 | 功能 | 用途 | 特性 |
|--------------------|------|----------------|---------------|------------|--------------|----------------|
| 外部高速晶体振荡器 | HSE | 4~16MHz | 4~16MHz晶体 | 系统时钟/RTC | 成本高,温漂小 |
| 外部低速晶体振荡器 | LSE | 32kHz | 32.768kHz晶体 | 带校准功能 | RTC | 成本高,温漂小 |
| 内部高速RC振荡器 | HSI | 8MHz | 无 | 经出厂调校 | 系统时钟 | 成本低,温漂大 |
| 内部低速RC振荡器 | LSI | 40kHz | 无 | 带校准功能 | RTC | 成本低,温漂大 |
|----------|-------------------------|--------------------------------------------------------------------------|
| 工作模式 | 关闭功能 | 唤醒方式 |
|----------|-------------------------|--------------------------------------------------------------------------|
| 睡眠模式 | ARM内核 | 所有内部、外部功能的中断/事件 |
|----------|-------------------------|--------------------------------------------------------------------------|
| 停机模式 | ARM内核 | 外部中断输入接口EXTI(16个I/O之一) |
| | 内部所有功能 | 电源电压监控中断PVD |
| | PLL分频器、HSE | RTC闹钟到时 |
| | | USB唤醒信号 |
|----------|-------------------------|--------------------------------------------------------------------------|
| 待机模式 | ARM内核 | NRST接口的外部复位信号 |
| | 内部所有功能 | 独立看门狗IWDG复位 |
| | PLL分频器、HSE | 专用唤醒WKUP引脚 |
| | SRAM内容消失 | RTC闹钟到时 |
|----------|-------------------------|--------------------------------------------------------------------------|
DMA
DMA相当于一个CPU的小助手,直接通道。可以不通过CPU来把数据储存起来



下图黑线相当于传统的数据传输方式,DMA参与的方式是红线
DMA也可以进行设备之间的传输,比如数据从ADC(数模转换)中取出,放入定时器,等等

IO端口

通用输入输出接口(GPIO)

翻转速度指的是方波的速度
GPIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD 下拉输入
GPIO_Mode_IPU 上拉输入
GPIO_Mode_Out_PP 推挽输出
GPIO_Mode_Out_OD 开漏输出
GPIO_Mode_AF_PP 复用推挽输出
GPIO_Mode_AF_OD 复用开漏输出


调试模式
![]()
现在比较火的是SWD模式,因为占用的接口和资源比较少
下图,用JTAG和SWD都可以,区别是SWD是两条线,只要引出两个接口就可以了

7个定时器
第8步)调试模式和定时器_哔哩哔哩_bilibili
7:57开始,略,

看门狗和滴答定时器
看门狗定时器分为独立和窗口型
喂狗:将看门狗定时器的计数清零
独立看门狗不受外部晶振所影响。因为窗口看门狗受主时钟驱动,所以不能在停机和待机模式下使用

滴答定时器叫做系统时基定时器

可编程时钟源的意思是,用户可以决定使用哪一个时钟,外部时钟还是内部时钟,分频后的频率是多少,可以由用户自己来决定,等等
实时操作系统最重要的一个功能是多任务。滴答定时器由于是一个递减型计数器,加入初始值设定为50,那么当计数降为0时,系统就会切换去执行下一个任务。

9个通信接口
通信接口是单片机和外部设备连接的方式

IrDA接口是一种红外线接口
I²C:

总线:一台主设备挂接多台从设备,通过一条通信线来通信
主模式:发送指令
从模式:接收指令
标准模式和快速模式 是两种通信协议,快速模式速度更快。

SCL 时钟同步先
SDA数据传输线
I²C设备时从设备,不一定非要是同一类设备;STM32是主设备
通用同步/异步收发器(USART)

相关文章:
【stm32学习】STM32F103相关特性
| 名称 | 缩写 | 频率 | 外部连接 | 功能 | 用途 | 特性 | |--------------------|------|----------------|---------------|------------|--------------|----------------| | 外部高速晶体振荡器 | HSE | 4~16MHz …...
PostGIS笔记:PostgreSQL中表、键和索引的基础操作
创建、查看与删除表 在数据库中创建一个表,使用如下代码: create table streets (id serial not null primary key, name varchar(50));这里的表名是streets,id是主键所以非空,采用serial数据类型,这个数据类型会自动…...
蓝桥杯python语言基础(3)——循环结构
一、for语句 理解range函数 range(start, stop, step) start: 序列开始的数字(默认为0)。stop: 序列结束的数字(不包含stop)。step: 步长(默认为1)。 练习 输出在 l 和 r 之间的所有偶数: pri…...
微服务网关鉴权之sa-token
目录 前言 项目描述 使用技术 项目结构 要点 实现 前期准备 依赖准备 统一依赖版本 模块依赖 配置文件准备 登录准备 网关配置token解析拦截器 网关集成sa-token 配置sa-token接口鉴权 配置satoken权限、角色获取 通用模块配置用户拦截器 api模块配置feign…...
23【进制的理解】
很多人可能听过计算机的最底层是2进制执行,但是原理并不知道,我们今天先不讨论那么复杂的问题,先讨论什么是进制 1910,10并不是1个字符,而是2个字符,也就是说在10进制里面没有“10”这个字符,1…...
jemalloc 5.3.0的tsd模块的源码分析
一、背景 在主流的内存库里,jemalloc作为android 5.0-android 10.0的默认分配器肯定占用了非常重要的一席之地。jemalloc的低版本和高版本之间的差异特别大,低版本的诸多网上整理的总结,无论是在概念上和还是在结构体命名上在新版本中很多都…...
【Convex Optimization Stanford】Lec3 Function
【Convex Optimization Stanford】Lec3 Function 前言凸函数的定义对凸函数在一条线上的限制增值扩充? 一阶条件二阶条件一些一阶/二阶条件的例子象集和sublevel set关于函数凸性的扩展(Jesen Inequality)保持函数凸性的操作非负加权和 & 仿射函数的…...
深入 Rollup:从入门到精通(三)Rollup CLI命令行实战
准备阶段:初始化项目 初始化项目,这里使用的是pnpm,也可以使用yarn或者npm # npm npm init -y # yarn yarn init -y # pnpm pnpm init安装rollup # npm npm install rollup -D # yarn yarn add rollup -D # pnpm pnpm install rollup -D在…...
wangEditor富文本编辑器,Laravel上传图片配置和使用
文章目录 前言步骤1. 构造好前端模版2. 搭建后端存储3. 调试 前言 由于最近写项目需要使用富文本编辑器,使用的是VUE3.0版本所以很多不兼容,实际测试以后推荐使用wangEditor 步骤 构造好前端模版搭建后端存储调试 1. 构造好前端模版 安装模版 模版安…...
chrome源码剖析—进程通信
Chrome 浏览器采用多进程架构(multi-process architecture),这种架构使得每个浏览器标签、扩展、插件、GPU 渲染等都在独立的进程中运行。为了确保不同进程之间的高效通信,Chrome 使用 进程间通信(IPC, Inter-Process …...
JJJ:linux时间子系统相关术语
文章目录 墙上时间内核管理的各种时间无时钟滴答模式(tickless mode 或 no-tick mode)简要介绍具体实现动态时钟滴答 Dynamic Ticks完全无时钟滴答(Full Tickless) nohz sleep单触发模式 oneshot mode 墙上时间 真实世界的真实时…...
0 基础学运维:解锁 K8s 云计算运维工程师成长密码
前言:作为一个过来人,我曾站在技术的门槛之外,连电脑运行内存和内存空间都傻傻分不清,完完全全的零基础。但如今,我已成长为一名资深的k8s云计算运维工程师。回顾这段历程,我深知踏上这条技术之路的艰辛与不…...
大一计算机的自学总结:位运算的应用及位图
前言 不仅异或运算有很多骚操作,位运算本身也有很多骚操作。(尤其后几个题,太逆天了) 一、2 的幂 class Solution { public:bool isPowerOfTwo(int n) {return n>0&&n(n&-n);} }; 根据二进制表示数的原理&#…...
计算机毕业设计Django+Tensorflow音乐推荐系统 机器学习 深度学习 音乐可视化 音乐爬虫 知识图谱 混合神经网络推荐算法 大数据毕设
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
AI 图片涌入百度图库
在这个信息爆炸的时代,我们习惯了通过搜索引擎来获取各种想要的信息和图片。然而,现在打开搜索引擎看到的却是许多真假难辨的信息——AI图片,这部分数据正以惊人的速度涌入百度图库,让小编不禁想问:未来打开百度图库不…...
可爱狗狗的404动画页面HTML源码
源码介绍 可爱狗狗的404动画页面HTML源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果 效果预览 源码获取 可爱狗狗的404动画页面HTML源码...
【微服务与分布式实践】探索 Dubbo
核心组件 服务注册与发现原理 服务提供者启动时,会将其服务信息(如服务名、版本、所在节点的网络地址等)注册到注册中心。服务消费者则可以从注册中心发现可用的服务提供者列表,并与之通信。注册中心会存储服务的信息,…...
OpenCSG月度更新2025.1
1月的OpenCSG取得了一些亮眼的成绩 在2025年1月,OpenCSG在产品和社区方面继续取得了显著进展。产品方面,推出了AutoHub浏览器自动化助手,帮助用户提升浏览体验;CSGHub企业版功能全面升级,现已开放试用申请,…...
C++封装红黑树实现mymap和myset和模拟实现详解
文章目录 map和set的封装map和set的底层 map和set的模拟实现insertiterator实现的思路operatoroperator- -operator[ ] map和set的封装 介绍map和set的底层实现 map和set的底层 一份模版实例化出key的rb_tree和pair<k,v>的rb_tree rb_tree的Key和Value不是我们之前传统意…...
二次封装的方法
二次封装 我们开发中经常需要封装一些第三方组件,那么父组件应该怎么传值,怎么调用封装好的组件原有的属性、插槽、方法,一个个调用虽然可行,但十分麻烦,我们一起来看更简便的方法。 二次封装组件,属性怎…...
【197期】视频一键转图文笔记
这期分享一个自己一直在用的视频转图文笔记工具,把视频文件和对应的字幕文件拖进去,一键就能生成详细的图文笔记。目前自媒体平台上的文章基本都靠这个流程来出,不用另外再写一遍,效率高了很多。使用方式很简单,把视频…...
AI教材写作必备:低查重工具,助力高效生成专业教材!
选择 AI 教材编写工具的困境与解决方案 在准备教材之前,选择合适的工具就像进入了一个“纠结的大迷宫”!使用办公软件确实方便,但功能往往太过基础,搭建框架和调整格式都得手动搞定;而如果选择专业的 AI 教材编写工具…...
Point Transformer V3 牙齿语义分割测试结果为0问题:完整调试与修复方案
Point Transformer V3 牙齿语义分割测试结果为0问题:完整调试与修复方案 摘要 Point Transformer V3(PTv3)是CVPR 2024发布的高效点云处理模型,在语义分割任务中表现出色。然而,在16类牙齿语义分割任务的测试阶段,模型输出全部为0的问题却常常困扰开发者。本文将从数据…...
基于Hi3516DV300的智能相机全流程设计方案:从硬件选型到算法集成
1. 项目概述:从一块开发板到一台智能相机手头拿到一块Hi3516开发板,很多嵌入式开发者的第一反应可能是:这能做个啥?如果告诉你,基于这块海思的经典芯片,我们可以设计出一台功能完整、具备智能分析能力的网络…...
AD21原理图设计避坑指南:搞定多通道编译时的‘多个网络名称’报错
AD21多通道设计实战:彻底解决"Multiple Net Names"报错难题 当你在AD21中精心设计了一个多通道电路,满心期待点击"编译"按钮时,Messages面板突然弹出的红色"Multiple Net Names"错误提示,就像交响乐…...
【Claude基础】08.子代理系统:分身术与并行执行
文章目录[toc]0\. 【Claude基础】全部目录1\. 子代理设计哲学1.1 单一上下文窗口的局限1.2 核心价值1.3 子代理 vs 多会话 vs 多实例2\. 内置代理详解2.1 general-purpose — 通用多步任务2.2 Explore — 快速只读代码库分析2.3 Plan — 研究型实施规划2.4 claude-code-guide —…...
如何在EVE Online中利用Pyfa实现舰船配装效率翻倍?
如何在EVE Online中利用Pyfa实现舰船配装效率翻倍? 【免费下载链接】Pyfa Python fitting assistant, cross-platform fitting tool for EVE Online 项目地址: https://gitcode.com/gh_mirrors/py/Pyfa 如果你是一位EVE Online玩家,是否曾经为游戏…...
Horos:免费开源医学影像软件,3D医疗图像处理的终极指南
Horos:免费开源医学影像软件,3D医疗图像处理的终极指南 【免费下载链接】horos Horos™ is a free, open source medical image viewer. The goal of the Horos Project is to develop a fully functional, 64-bit medical image viewer for OS X. Horos…...
别再傻傻分不清了!Numpy里ndarray和array到底啥区别?新手避坑指南
别再傻傻分不清了!Numpy里ndarray和array到底啥区别?新手避坑指南 刚接触Numpy的Python开发者,几乎都会在ndarray和array()这两个概念上栽跟头。明明看起来都能创建数组,为什么文档里一会儿用np.array(),一会儿又冒出个…...
避坑指南:连接UR5实体机械臂与ROS MoveIt时,你最容易忽略的这3个配置细节
避坑指南:连接UR5实体机械臂与ROS MoveIt时,你最容易忽略的这3个配置细节 当仿真环境中的UR5机械臂完美运行MoveIt规划路径,却在切换到实体设备时遭遇连接失败,这种落差感往往源于几个隐蔽的配置陷阱。本文将从工业现场调试经验出…...
