当前位置: 首页 > news >正文

STM32F1简介

前言

本次学习使用的是STM32F1系列的芯片,72MHz的Cortex-M3内核;

名词解释

STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器(MCU);

ARM Cortex-M内核是ARM公司设计的,程序指令的执行,加减乘除的运算都是在内核里完成的,M系列主要是单片机系列;

ST公司基于ARM Cotex-M内核,添加一些外设,组成自己的芯片

STM32F103C8T6芯片信息

片上资源/外设

也是学习的主要内容,其中NVIC和SysTick是位于Cortex-M3内核里面的外设,其他的都位于内核的外面

系统结构

内核引出了三条总线,ICode指令总线、DCode数据总线、System系统总线;

ICode和DCode总线主要用来连接Flash闪存的,ICode用来加载指令,DCode用来加载数据,比如常量和调试参数;

System总线连接到其他外设上,比如SRAM,用于存储程序运行时的变量(这里联想了一下程序运行时变量都是在内存中的,运行时才能确定,静态变量、常量等都是在Flash里,和指令编译在一起放在了ROM中)

AHB系统总线,先进高性能总线,用来挂载主要的外设(基本上是最忙的一条主线,总线冲突经常发生在这里)

桥接主要是完成不同总线协议之间的转换和缓存;

DMA,用于帮助CPU搬运数据,和CPU一样的总线控制权,当外设需要DMA搬运数据时,外设就会通过请求线发生DMA请求,然后DMA就会获得总线控制权,访问并转运数据,整个过程不需要CPU参与,释放CPU性能;

引脚定义

红色是电源相关的引脚,蓝色的是最小系统相关的引脚,绿色的是IO口、功能口等;S代表电源、I代表输入、O代表输出、I/O代表输入输出;

主功能是上电后的默认功能,一般和引脚名称相同; 默认服用功能是IO上同时连接的外设引脚功能,可以在配置IO的时候选择使用通用IO口还是复用功能;重定义功能,如果两个功能同时复用到了一个端口上,这两个功能你都想要用,可以把其中一个的 复用功能 重新映射到其他端口上;

启动配置

指定程序开始运行时的位置,

相关文章:

STM32F1简介

前言 本次学习使用的是STM32F1系列的芯片,72MHz的Cortex-M3内核; 名词解释 STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器(MCU); ARM Cortex-M内核是ARM公司设计的,程序指令的执行,…...

SpringBoot面试题6:Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring Boot 2.X 有什么新特性?与 1.X 有什么区别? Spring Boot是一种用于简化Spring应用程序开发的框架,它提供了自动配置、起步依赖和快速开…...

qt笔记之qml下拉标签组合框增加发送按钮发送标签内容

qt笔记之qml下拉标签组合框增加发送按钮发送标签内容 code review! 文章目录 qt笔记之qml下拉标签组合框增加发送按钮发送标签内容1.运行2.文件结构3.main.qml4.main.cc5.MyClass.h6.MyClass.cc7.CMakeLists.txt8.ComboBox.pro9.qml.qrc 1.运行 2.文件结构 3.main.qml 代码 …...

linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路

现状 目前市面上和官方均只有rocketmq x86架构下的docker镜像,而随着国产化和信创适配的需求越来越多,显然现有的x86架构下的docker镜像不能满足多样化的需求,因此我们需要根据官方发布的版本制作满足需求的多架构镜像,以在不同cp…...

Java8 新特性之Stream(五)-- Stream的3种创建方法

目录 1. 集合 创建Stream流 拓展: 2. 数组 创建Stream流 3. 静态方法 创建Stream流 1. 集合 创建Stream流 @...

Vue实现模糊查询搜索功能

第一步 先创建一个val变量 // 用户搜索内容 let val ref(""); 第二步&#xff1a;给input绑定v-model &#xff08;为了获取input框的值&#xff09; <input v-model"val" type"text" placeholder"请输入行业/公司/名称"/> 第…...

(C++ STL) 详解vector模拟实现

目录 一.vector的介绍 1.vector的介绍 二.vector的定义模拟实现 三.vector各接口的模拟实现 1.vector迭代器的模拟实现 2.构造函数 2.1无参构造 2.2 n个val构造 2.3迭代器区间构造 2.4通过对象初始化&#xff08;拷贝构造&#xff09; 3.析构函数 4.size 5.operato…...

c语言从入门到实战——C语言数据类型和变量

C语言数据类型和变量 前言1. 数据类型介绍1.1 字符型1.2 整型1.3 浮点型1.4 布尔类型1.5 各种数据类型的长度1.5.1 sizeof操作符1.5.2 数据类型长度1.5.3 sizeof中表达式不计算 2. signed 和 unsigned3. 数据类型的取值范围4. 变量4.1 变量的创建4.2 变量的分类 5. 算术操作符&…...

[论文精读]Semi-Supervised Classification with Graph Convolutional Networks

论文原文&#xff1a;[1609.02907] Semi-Supervised Classification with Graph Convolutional Networks (arxiv.org) 论文代码&#xff1a;GitHub - tkipf/gcn: Implementation of Graph Convolutional Networks in TensorFlow 英文是纯手打的&#xff01;论文原文的summari…...

CICD:使用docker+ jenkins + gitlab搭建cicd服务

持续集成解决什么问题 提高软件质量效率迭代便捷部署快速交付、便于管理 持续集成&#xff08;CI&#xff09; 集成&#xff0c;就是一些孤立的事物或元素通过某种方式集中在一起&#xff0c;产生联系&#xff0c;从而构建一个有机整体的过程。 持续&#xff0c;就是指长期…...

新能源电池试验中准确模拟高空环境大气压力的解决方案

摘要&#xff1a;针对目前新能源电池热失控和特性研究以及生产中缺乏变环境压力准确模拟装置、错误控制方法造成环境压力控制极不稳定以及氢燃料电池中氢气所带来的易燃易爆问题&#xff0c;本文提出了相应的解决方案。方案的关键一是采用了低漏率电控针阀作为下游控制调节阀实…...

Python 中的模糊字符串匹配

文章目录 Python中使用thefuzz模块匹配模糊字符串使用process模块高效地使用模糊字符串匹配今天,我们将学习如何使用 thefuzz 库,它允许我们在 python 中进行模糊字符串匹配。 此外,我们将学习如何使用 process 模块,该模块允许我们借助模糊字符串逻辑有效地匹配或提取字符…...

记录一个奇怪bug

一开始Weapon脚本是继承Monobehavior的&#xff0c;实例化后挂在gameObject上跟着角色。后来改成了不继承mono的&#xff0c;也不实例化。过程都是顺利的&#xff0c;运行也没问题&#xff0c;脚本编辑器也没有错误。 但偶尔有一次报了一些错误&#xff0c;大概是说Weapon (1)…...

SpringBoot面试题7:SpringBoot支持什么前端模板?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:SpringBoot支持什么前端模板? Spring Boot支持多种前端模板,其中包括以下几种常用的: Thymeleaf:Thymeleaf是一种服务器端Java模板引擎,能够…...

leetcode做题笔记172. 阶乘后的零

给定一个整数 n &#xff0c;返回 n! 结果中尾随零的数量。 提示 n! n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;0 解释&#xff1a;3! 6 &#xff0c;不含尾随 0示例 2&#xff1a; 输入&#xff1a;n 5 输出&a…...

linux之shell脚本练习

以下脚本已经是在ubuntu下测试的 demo持续更新中。。。 1、for 循环测试&#xff0c;&#xff0c;&#xff0c;Ping 局域网 #!/bin/bashi1 for i in {1..254} do# 每隔0.3s Ping 一次&#xff0c;每次超时时间3s&#xff0c;Ping的结果直接废弃ping-w 3 -i 0.3 192.168.110.$i…...

CSS阶详细解析一

CSS进阶 目标&#xff1a;掌握复合选择器作用和写法&#xff1b;使用background属性添加背景效果 01-复合选择器 定义&#xff1a;由两个或多个基础选择器&#xff0c;通过不同的方式组合而成。 作用&#xff1a;更准确、更高效的选择目标元素&#xff08;标签&#xff09;。…...

osWorkflow-1——osWorkflow官方例子部署启动运行(版本:OSWorkflow-2.8.0)

osWorkflow-1——osWorkflow官方例子部署启动运行&#xff08;版本&#xff1a;OSWorkflow-2.8.0&#xff09; 1. 前言——准备工作1.1 下载相关资料1.2 安装翻译插件 2. 开始搞项目2.1 解压 .zip文件2.2 简单小测&#xff08;war包放入tomcat&#xff09;2.3 导入项目到 IDE、…...

Stm32_标准库_13_串口蓝牙模块_手机与蓝牙模块通信

代码&#xff1a; #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h"char News[100] "";uint8_t flag 1;void Get_Hc05News(char *a){uint32_t i 0…...

Unity中用序列化和反序列化来保存游戏进度

[System.Serializable]标记类 序列化 [System.Serializable]是一个C#语言中的属性&#xff0c;用于标记类&#xff0c;表示该类的实例可以被序列化和反序列化。序列化是指将对象转换为字节流的过程&#xff0c;以便可以将其保存到文件、数据库或通过网络传输。反序列化则是将字…...

终极开源解决方案:用Video-subtitle-extractor高效提取视频硬字幕的完整指南

终极开源解决方案&#xff1a;用Video-subtitle-extractor高效提取视频硬字幕的完整指南 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含…...

别再复制粘贴了!手把手教你从零配置一个生产可用的log4j2.xml文件

从零构建生产级Log4j2配置&#xff1a;告别复制粘贴的五个关键设计 每次接手新项目时&#xff0c;看到团队直接从GitHub或博客复制过来的log4j2.xml文件&#xff0c;我都会暗自叹气。这些配置往往带着各种隐患&#xff1a;有的在高峰期突然打满磁盘&#xff0c;有的关键错误日志…...

Gemini应用商店曝光量暴跌?3步诊断+5个隐藏算法漏洞修复指南

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini应用商店曝光量暴跌&#xff1f;3步诊断5个隐藏算法漏洞修复指南 近期大量开发者反馈 Gemini 应用商店自然曝光量断崖式下跌&#xff0c;部分应用 7 日内曝光下降超 68%&#xff0c;但后台数据未…...

nn.Flatten():从参数解析到多维张量展平实战

1. 理解nn.Flatten()的核心作用 当你第一次接触深度学习框架中的nn.Flatten()时&#xff0c;可能会觉得这个函数简单到不需要解释——不就是把多维数据压平吗&#xff1f;但真正用起来就会发现&#xff0c;里面的门道比想象中多得多。我在实际项目中就遇到过因为错误理解展平维…...

从IR压降到远程采样:大电流PCB供电设计的实战经验与陷阱规避

1. 项目背景与问题浮现几年前&#xff0c;我参与了一个项目&#xff0c;主电源是一个标准的开放式机架电源&#xff0c;需要为一个位于机箱内相对较远的模块提供5V、约20A的直流电。最初的供电路径设计是依靠PCB走线&#xff0c;我们使用了1盎司铜厚的板材。问题很快就出现了&a…...

终极指南:轻松突破Cursor Pro限制,实现永久免费使用

终极指南&#xff1a;轻松突破Cursor Pro限制&#xff0c;实现永久免费使用 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached…...

3分钟掌握9大网盘直链解析:告别限速烦恼的高效下载方案

3分钟掌握9大网盘直链解析&#xff1a;告别限速烦恼的高效下载方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

5个核心功能:彻底掌握Nexus Mods App模组管理技巧

5个核心功能&#xff1a;彻底掌握Nexus Mods App模组管理技巧 【免费下载链接】NexusMods.App Home of the development of the Nexus Mods App 项目地址: https://gitcode.com/gh_mirrors/ne/NexusMods.App Nexus Mods App是一款革命性的游戏模组管理器&#xff0c;专为…...

2026深度教程:如何用好 Gemini 3.1 Pro 联网搜索?实时信息获取与验证技巧全解析

目前&#xff0c;国内用户想稳定使用顶尖AI模型的联网搜索功能&#xff0c;像聚合了Gemini、ChatGPT、Grok等主流大模型的 KULAAI &#xff08;m.877ai.cn) 这类镜像站提供了直接可用的方案。本文将深入剖析Gemini 3.1 Pro的联网能力&#xff0c;从原理机制到实操技巧&#xff…...

vLLM Semantic Router:基于信号驱动的LLM智能路由架构与生产实践

1. 项目概述&#xff1a;为什么我们需要一个“智能”的LLM路由器&#xff1f;在当前的LLM应用开发中&#xff0c;我们正面临一个甜蜜的烦恼&#xff1a;模型太多了。从闭源的GPT-4、Claude&#xff0c;到开源的Llama、Qwen、DeepSeek&#xff0c;再到各种针对特定任务微调的小模…...