0基础 | STM32 | STM32F103C8T6开发板 | 项目开发
注:本专题系列基于该开发板进行,会分享源代码
F103C8T6核心板链接: https://pan.baidu.com/s/1EJOlrTcProNQQhdTT_ayUQ 提取码:8c1w
图 STM32F103C8T6开发板
1、黑色制版工艺、漂亮、高品质 |
2、入门级配置STM32芯片(SEM32F103C8T6)、LQFP48封装72M主频、64K-FLASH、20K-RAM |
3、具有电源指示灯、板载可编辑LED灯 |
4、板载8M晶振/ST推荐RTC晶振 |
5、标准20P=JTAG/SWD接口、适用各种通用仿真器 |
6、板载24C04--数据参数存储器、方便应用开发数据参数存储 |
8、板载复位按键及用户操作按键、方便功能开发 |
图 STM32F103C8T6开发板 实物引脚定义
图 STM32F103C8T6开发板尺寸
图 原理图分析
电源与复位相关
- VBAT(1脚):备份电源引脚,用于在主电源VDD掉电时,为RTC(实时时钟)、备份寄存器等供电 ,维持其数据和功能。比如当系统断电后,RTC若由VBAT供电,仍可继续计时。
- VDD_1 - VDD_3(24、36、48脚):数字电源引脚,为芯片内部数字电路(如CPU内核、数字外设等)提供工作电源,通常接3.3V电源 。
- VSS_1 - VSS_3(23、35、47脚):数字地引脚,与VDD对应,为数字电路提供接地参考电位 。
- VDDA(8脚):模拟电源引脚,为芯片内部模拟电路(如ADC、DAC等)供电,保证模拟电路工作稳定性和精度 ,一般要求与VDD电压相同且稳定。
- VSSA(7脚):模拟地引脚,与VDDA配合,为模拟电路提供接地参考,需注意与数字地的隔离,减少干扰 。
- NRST(7脚):复位引脚,低电平有效。当该引脚接收到低电平信号时,芯片会进入复位状态,重新初始化内部寄存器等,恢复到初始工作状态 。
时钟相关
- PC14 - OSC32_IN(3脚)、PC15 - OSC32_OUT(5脚):外接32.768KHz低速外部晶振(LSE)引脚,LSE主要为RTC提供时钟源,保证实时时钟计时的准确性 。
- XTAL_IN(5脚)、XTAL_OUT(6脚):外接高速外部晶振(HSE)引脚,一般接8MHz晶振,为系统提供主时钟信号,芯片内部的PLL可对其倍频,满足不同外设的时钟需求 。
通用输入输出(GPIO)端口
- PA0 - PA15(10 - 17、37 - 42脚):通用输入输出引脚,可配置为输入、输出、复用功能等多种模式。例如可作为普通IO口控制外部LED亮灭,也可复用为SPI、USART等外设功能引脚 。
- PB0 - PB15(18 - 23、43 - 48脚):功能与PA口类似,可灵活配置,如用于连接外部按键检测输入信号,或复用为I2C、TIM等外设引脚 。
外设功能相关
- PA2/USART2_TX(12脚)、PA3/USART2_RX(13脚):复用为USART2的发送和接收引脚,用于串口通信,可实现芯片与外部设备(如蓝牙模块、串口屏等)的数据传输 。
- PA9/UART1_TX(30脚)、PA10/UART1_RX(31脚):复用为UART1的发送和接收引脚,也是常用的串口通信接口 。
- PB6/I2C1_SCL(42脚)、PB7/I2C1_SDA(43脚):复用为I2C1接口的时钟线和数据线,用于连接I2C设备(如EEPROM存储器、温度传感器等),实现主从设备间的通信 。
- PB10/UART3_TX(21脚)、PB11/UART3_RX(22脚):复用为UART3的发送和接收引脚,拓展了串口通信资源 。
- PA4/SPI1_NSS(14脚)、PA5/SPI1_SCK(15脚)、PA6/SPI1_MISO(16脚)、PA7/SPI1_MOSI(17脚):复用为SPI1接口引脚,用于SPI通信,可高速传输数据,连接SPI设备(如SD卡、SPI Flash等) 。
- PB13/SPI2_SCK(27脚)、PB14/SPI2_MISO(26脚)、PB15/SPI2_MOSI(28脚):复用为SPI2接口引脚,提供另一个SPI通信通道 。
- PB8/TIM4_CH3(45脚)、PB9/TIM4_CH4(46脚):复用为定时器TIM4的通道3和通道4引脚,可用于定时计数、PWM输出等功能,比如控制电机转速、舵机角度等 。
特殊功能引脚
- PC13 - ANTI_TAMP(2脚):可用于防篡改检测功能,当引脚电平发生变化时可产生中断等,用于监测外部非法操作 。
- BOOT0(44脚)、BOOT1(43脚):启动配置引脚,通过设置这两个引脚的电平组合,可选择不同的启动方式。如BOOT0 = 0,BOOT1 = 0时从主闪存启动;BOOT0 = 1,BOOT1 = X时从系统存储器启动等 。
相关文章:

0基础 | STM32 | STM32F103C8T6开发板 | 项目开发
注:本专题系列基于该开发板进行,会分享源代码 F103C8T6核心板链接: https://pan.baidu.com/s/1EJOlrTcProNQQhdTT_ayUQ 提取码:8c1w 图 STM32F103C8T6开发板 1、黑色制版工艺、漂亮、高品质 2、入门级配置STM32芯片(SEM32F103…...

南京大学OpenHarmony技术俱乐部正式揭牌 仓颉编程语言引领生态创新
2025年4月24日,由OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会与南京大学软件学院共同举办的“南京大学OpenHarmony技术俱乐部成立大会暨基础软件与生态应用论坛”在南京大学仙林校区召开。 大会聚焦国产自主编程语言…...

主场景 工具栏 植物卡牌的渲染
前置知识:使用easyx图形库 1.IMAGE内存变量存储的是一张位图(图像),存储了像素数据(颜色,尺寸等) 2.loadimage(&变量名,"加载的文件路径")表示从文件中加载图像到变量中 3. saveimage("文件路径", &变…...
计算机网络:深入分析三层交换机硬件转发表生成过程
三层交换机的MAC地址转发表生成过程结合了二层交换和三层路由的特性,具体可分为以下步骤: 一、二层MAC地址表学习(基础转发层) 初始状态 交换机启动时,MAC地址表为空,处于学习阶段。 数据帧接收与源MAC学习 当主机A发送数据帧到主机B时,交换机会检查数据帧的源MAC地址。…...

Java三大基本特征之多态
多态(Polymorphism)是面向对象编程(OOP)的三大特性之一(另外两个是 封装 和 继承),它允许 同一个行为具有不同的表现形式。在 Java 中,多态主要通过 方法重写(Override&a…...

OpenCV 基于生物视觉模型的工具------模拟人眼视网膜的生物视觉机制类cv::bioinspired::Retina
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::bioinspired::Retina 是 OpenCV 中用于仿生视觉处理的一个类,它基于生物视觉模型进行图像预处理。该算法特别适用于动态范围调整…...

前端跨域问题怎么在后端解决
目录 简单的解决方法: 添加配置类: 为什么会跨域 1. 什么是源 2. URL结构 3. 同源不同源举🌰 同源例子 不同源例子 4. 浏览器为什么需要同源策略 5. 常规前端请求跨域 简单的解决方法: 添加配置类: packag…...

Python小程序:上班该做点摸鱼的事情
系统提醒 上班会忘记一些自己的事,所以你需要在上班的的时候突然给你弹窗,你就知道要做啥了 源码 这里有一个智能家居项目可以看看(开源) # -*- coding:utf-8 -*- """ 作者:YTQ 日期: 2025年04日29 21:51:24 """ impor…...
企业级AI革命!私有化部署开源大模型:数据安全+自主可控,打造专属智能引擎
AI大模型浪潮席卷全球,但企业面临两大痛点:数据隐私风险高、公有云服务难定制! 如何既享受大模型的强大能力,又能保障核心数据安全?私有化部署开源大模型强势破局——将顶尖AI能力“装进”企业内网,数据0外…...

飞云分仓操盘副图指标操作技术图文分解
如上图,副图指标-飞云分仓操盘指标,指标三条线蓝色“首峰线”,红色“引力1”,青色“引力2”,多头行情时“首峰线”和“引力1”之间显示为红色,“引力1”和“引力2”多头是区间颜色显示为紫色。 如上图图标信…...

基于vueflow可拖拽元素的示例(基于官网示例的单文件示例)
效果图 代码 <template><div style"width: 100%;height: calc(100vh - 84px)"><VueFlow :nodes"nodes" :edges"edges" drop"onDrop" dragover"onDragOver" dragleave"onDragLeave"><div cl…...

【MongoDB篇】MongoDB的副本集操作!
目录 引言第一节:副本集的核心概念:它是什么?为什么需要它?🤔🧠第二节:副本集的“骨架”:成员与数据同步机制 👑🔄❤️🔥第三节:生死…...

Kubernetes 集群优化实战手册:从零到生产级性能调优
一、硬件资源优化策略 1. 节点选型黄金法则 # 生产环境常见节点规格(AWS示例) - 常规计算型:m5.xlarge (4vCPU 16GB) - 内存优化型:r5.2xlarge (8vCPU 64GB) - GPU加速型:p3.2xlarge (8vCPU V100 GPU)2. 自动扩缩容…...

【Redis分布式】主从复制
🔥个人主页: 中草药 🔥专栏:【中间件】企业级中间件剖析 一、主从复制 在分布式系统之中为了解决单点问题(1、可用性问题,该机器挂掉服务会停止2、性能支持的并发量是有限的)通常会把数据复制多…...

用递归实现各种排列
为了满足字典序的输出,我采用了逐位递归的方法(每一位的所能取到的最小值都大于前一位) 1,指数型排列 #include<bits/stdc.h> using ll long long int; using namespace std; int a[10];void printp(int m) {for (int h …...

测试用例介绍
文章目录 一、测试用例基本概念1.1 测试用例基本要素 二、测试用例的设计方法2.1 基于需求的设计方法2.2 等价类2.3 边界值2.4 错误猜测法2.6 场景设计法2.7 因果图2.5 正交排列 三、综合:根据某个场景去设计测试用例(万能公式)四、如何使用F…...

phpstudy升级新版apache
1.首先下载要升级到的apache版本,这里apache版本为Apache 2.4.63-250207 Win64下载地址:Apache VS17 binaries and modules download 2.将phpstudy中原始apache复制备份Apache2.4.39_origin 3.将1中下载apache解压, 将Apache24复制一份到ph…...
在一台服务器上通过 Nginx 配置实现不同子域名访问静态文件和后端服务
一、域名解析配置 要实现通过不同子域名访问静态文件和后端服务,首先需要进行域名解析。在域名注册商或 DNS 服务商处,为你的两个子域名 blog.xxx.com 和 api.xxx.com 配置 A 记录或 CNAME 记录。将它们的 A 记录都指向你服务器的 IP 地址。例如&#x…...

React Native基础环境配置
React Native基础环境配置 1.引言2.React-Native简介3.项目基础环境搭建1.引言 感觉自己掌握的知识面还是有点太窄了,于是决定看看移动端的框架,搞个react搭一个后端管理项目,然后拿react-native写个小的软件,试着找个三方上架一下应用市场玩玩。毕竟不可能一直在简历上挂一…...

【Linux修炼手册】Linux开发工具的使用(一):yum与vim
文章目录 一、Linux 软件包管理器——yum安装与卸载的使用方法查看软件包 二、Linux编辑器——vimvim命名模式常用指令底行模式常用指令 一、Linux 软件包管理器——yum Linux安装软件的方式有3种: 源代码安装——成本极高rmp安装——具有安装依赖、安装源、安装版…...

如何查看电脑显卡配置参数 一文读懂
显卡是电脑的重要硬件之一,尤其对于游戏玩家、设计师、视频编辑等用户来说,显卡的性能直接影响电脑的使用体验。如果您想知道电脑的显卡信息,或者打算升级显卡,那么了解如何查看显卡配置是非常必要的。本文将为您提供多种简单实用…...
幂等的几种解决方案以及实践
目录 什么是幂等? 解决幂等的常见解决方案: 唯一标识符案例 数据库唯一约束 案例 乐观锁案例 分布式锁(Distributed Locking) 实践精选方案 首先 为什么不直接使用分布式锁呢? 自定义实现幂等组件!…...
transformer➕lstm训练回归模型
使用 Transformer 和 LSTM 优化时序数据回归模型:全流程分析 在机器学习和深度学习中,处理时序数据是一项常见的任务。无论是金融预测、气象预测还是库存管理等领域,时序数据都扮演着至关重要的角色。对于时序数据的建模,深度学习…...
用卷积神经网络 (CNN) 实现 MNIST 手写数字识别
在深度学习领域,MNIST 手写数字识别是经典的入门级项目,就像编程世界里的 “Hello, World”。卷积神经网络(Convolutional Neural Network,CNN)作为处理图像数据的强大工具,在该任务中展现出卓越的性能。本…...
windows的rancherDesktop修改镜像源
您好!要在Windows系统上的Rancher Desktop中修改Docker镜像源(即设置registry mirror),您需要根据Rancher Desktop使用的容器运行时(containerd或dockerd)进行配置。用户提到“allowed-image”没有效果&…...

spring中的@ComponentScan注解详解
ComponentScan 是 Spring 框架中用于自动扫描并注册组件的核心注解,它简化了 Spring 应用中 Bean 的发现和装配流程。以下从核心功能、属性解析、使用场景及示例等方面进行详细说明。 一、核心功能与作用 自动扫描组件 ComponentScan 会扫描指定包及其子包下的类&am…...
机器学习之嵌入(Embeddings):从理论到实践
机器学习之嵌入(Embeddings):从理论到实践 摘要 本文深入探讨了机器学习中嵌入(Embeddings)的概念和应用。通过具体的实例和可视化展示,我们将了解嵌入如何将高维数据转换为低维表示,以及这种转换在推荐系统、自然语言处理等领域的实际应用…...

深入剖析 I/O 复用之 select 机制
深入剖析 I/O 复用之 select 机制 在网络编程中,I/O 复用是一项关键技术,它允许程序同时监控多个文件描述符的状态变化,从而高效地处理多个 I/O 操作。select 作为 I/O 复用的经典实现方式,在众多网络应用中扮演着重要角色。本文…...

SpringBoot指定项目层日志记录
1、新建一个Springboot项目,添加Lombok依赖(注意:这里使用的Lombok下的Slf4j快速日志记录方式) <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependenc…...

RISC-V hardfault分析工具,RTTHREAD-RVBACKTRACE
RV BACKTRACE 简介 本文主要讲述RV BACKTRACE 的内部主要原理 没有接触过rvbacktrace可以看下面两篇文章,理解一下如何使用RVBACKTRACE RVBacktrace RISC-V极简栈回溯组件:https://club.rt-thread.org/ask/article/64bfe06feb7b3e29.html RVBacktra…...