STM32F103C8T6 理论部分学习笔记

STM32F103C8T6—烧录程序 64位的操作系统选择dpinst_amd64.exe,32位的操作系统选择dpinst_x86.exe。将下载好的压缩包en.stsw-link009.zip解压,根据自己的操作系统选择响应的安装包,将usb转ttl的GND和3.3V分别连接到stm32f103c8t6的GND和3.3V,然后接收许可协议,如果有账号登录即可,没有账号可以填写资料发送到邮箱下载。将usb转ttl插入电脑,可以看到下图内容,说明安装成功。注意:要将开发板上的BOOT0的跳线帽连接低电平。设备管理器,找到通用串行总线设备。 阅读详情


💙 STM32F103C8T6 命名解读

系列:主流系列STM32F1
内核:ARM Cortex-M3
主频:72MHz
RAM:20K(SRAM)
ROM:64K(Flash)
供电:2.0~3.6V(标准3.3V)
封装:LQFP48


💙 STM32 系列主要片上资源 / 外设速查表

英文缩写名称人话解释
NVIC嵌套向量中断控制器管理芯片中断,决定哪个任务/事件优先被处理
SysTick系统滴答定时器芯片自带的简易定时器,常用于延时、计时、系统心跳
RCC复位和时钟控制给外设开关时钟、管理芯片复位,是所有外设工作的总开关 (操作外设之前必须先使能其时钟,常用标准库中 :RCC_APB2PeriphClockCmd 和 RCC_APB1PeriphClockCmd 两个库函数进行使能操作)
GPIO通用IO口通用输入输出引脚,用来控制LED、读取按键、输出高低电平 (常用标准库中:GPIO_Init 和 8个读写函数 (GPIO_ResetBits,GPIO_SetBits ...) 进行操作)
AFIO复用IO口让同一个引脚切换不同功能,比如既当普通引脚,又当串口引脚
EXTI外部中断引脚电平变化时触发中断,不用一直循环检测引脚状态
TIM定时器用于计时、生成PWM波、计数等,是芯片的时间管理工具
ADC模数转换器把光敏、温湿度等模拟电压信号,转换成单片机能识别的数字量
DMA直接内存访问数据搬运不用CPU参与,解放CPU,让数据传输更高效
USART同步/异步串口通信最常用的串口通信方式,和电脑、蓝牙、传感器收发数据
I2CI2C通信两根线就能通信,适合短距离连接OLED屏、传感器等小设备
SPISPI通信高速同步通信,用来连接Flash、显示屏、传感器等设备
CANCAN通信工业级稳定通信,多用于汽车、工控设备之间的数据传输
USBUSB通信支持USB协议,可用于数据传输、设备连接识别等功能
RTC实时时钟独立计时的时钟,断电也能走时,用来记录时间、设置闹钟
CRCCRC校验数据校验工具,检测传输、存储的数据有没有出错
PWR电源控制管理芯片的低功耗模式,降低耗电,延长设备续航
BKP备份寄存器掉电也能保存数据,用来记录设备的关键状态信息
IWDG独立看门狗独立时钟监控,程序跑飞/卡死时自动复位芯片
WWDG窗口看门狗更灵活的程序监控,有时间窗口限制,故障时复位芯片

💙 STM32 引脚分布

参考数据手册 第三部分:引脚定义

除了图上标注的 11 个特殊引脚外,还有 4 组一字母作为组编号的普通引脚

  • GPIOA:PA0 … PA15
  • GPIOB:PB0 … PB15
  • GPIOC:PC13,PC14,PC15
  • GPIOD:PD0,PD1

STM32F103C8T6 (LQFP48) 引脚详细定义表 (截自数据手册 3.引脚定义-表5)

🔴 红色:电源 / 晶振 / 复位 / 启动配置
🟠 橙色:模拟电源(ADC)
🔵 蓝色:PA 口引脚
🟣 紫色:PB 口引脚
⚫ 灰色:数字电源 / 地

引脚号引脚名称类型I/O电平主功能默认复用功能重定义功能备注
1VBATS-备用电源--RTC/备份寄存器掉电供电
2PC13-TAMPER-RTCI/O3.3VPC13TAMPER-RTC-侵入检测、RTC时钟输入
3PC14-OSC32_INI3.3VPC14OSC32_IN-32.768kHz晶振输入
4PC15-OSC32_OUTO3.3VPC15OSC32_OUT-32.768kHz晶振输出
5OSC_INI3.3VOSC_IN--外部8MHz晶振输入
6OSC_OUTO3.3VOSC_OUT--外部8MHz晶振输出
7NRSTI3.3V复位引脚--低电平复位,内置上拉
8VSSAS-模拟地--ADC模拟地,独立布线
9VDDAS-模拟电源--ADC供电,3.3V
10PA0-WKUPI/O3.3VPA0WKUP、USART2_CTS、ADC12_IN0、TIM2_CH1_ETR-唤醒引脚,可触发外部中断
11PA1I/O3.3VPA1USART2_RTS、ADC12_IN1、TIM2_CH2-通用IO+ADC+定时器通道
12PA2I/O3.3VPA2USART2_TX、ADC12_IN2、TIM2_CH3-串口2发送引脚
13PA3I/O3.3VPA3USART2_RX、ADC12_IN3、TIM2_CH4-串口2接收引脚
14PA4I/O3.3VPA4SPI1_NSS、USART2_CK、ADC12_IN4-SPI1片选引脚
15PA5I/O3.3VPA5SPI1_SCK、ADC12_IN5-SPI1时钟引脚
16PA6I/O3.3VPA6SPI1_MISO、ADC12_IN6、TIM3_CH1TIM1_BKINSPI1主入从出引脚
17PA7I/O3.3VPA7SPI1_MOSI、ADC12_IN7、TIM1_CH2TIM1_CH1NSPI1主出从入引脚
18PB0I/O3.3VPB0ADC12_IN8、TIM3_CH3TIM1_CH2N通用IO+ADC+定时器通道
19PB1I/O3.3VPB1ADC12_IN9、TIM3_CH4TIM1_CH3N通用IO+ADC+定时器通道
20PB2I/OFTPB2/BOOT1-启动模式选择,5V容忍
21PB10I/OFTPB10I2C2_SCL、USART3_TX-I2C2时钟、串口3发送
22PB11I/OFTPB11I2C2_SDA、USART3_RX-I2C2数据、串口3接收
23VSS1S-数字地--芯片数字接地
24VDD1S-数字电源--芯片数字供电,3.3V
25PB12I/OFTPB12SPI2_NSS、I2C2_SMBAI、USART3_CK、TIM1_BKIN-SPI2片选、5V容忍
26PB13I/OFTPB13SPI2_SCK、USART3_CTS、TIM1_CH1N-SPI2时钟、5V容忍
27PB14I/OFTPB14SPI2_MISO、USART3_RTS、TIM1_CH2N-SPI2主入从出、5V容忍
28PB15I/OFTPB15SPI2_MOSI、TIM1_CH3N-SPI2主出从入、5V容忍
29PA8I/O3.3VPA8MCO、USART1_CK、TIM1_CH1-系统时钟输出、定时器通道1
30PA9I/O3.3VPA9USART1_TX、TIM1_CH2-串口1发送引脚
31PA10I/O3.3VPA10USART1_RX、TIM1_CH3-串口1接收引脚
32PA11I/O3.3VPA11USART1_CTS、USBDM、CAN_RX、TIM1_CH4-USB数据负、CAN接收
33PA12I/O3.3VPA12USART1_RTS、USBDP、CAN_TX、TIM1_ETR-USB数据正、CAN发送
34PA13I/O3.3VJTMS / SWDIO-PA13JTAG/SWD调试数据
35VSS2S-数字地--芯片数字接地
36VDD2S-数字电源--芯片数字供电,3.3V
37PA14I/O3.3VJTCK / SWCLK-PA14JTAG/SWD调试时钟
38PA15I/O3.3VJTDI-PA15、TIM2_CH1_ETR、SPI1_NSSJTAG 调试接口的数据输入
39PB3I/OFTJTDO-PB3 、TRACESWO、TIM2_CH2、SPI1_SCKJTAG数据输出、5V容忍
40PB4I/OFTNJTRST-PB4 、TIM3_CH1、SPI1_MISOJTAG复位、5V容忍
41PB5I/OFTPB5I2C1_SMBAITIM3_CH2、SPI1_MOSI通用定时器、5V容忍
42PB6I/OFTPB6I2C1_SCL、TIM4_CH1USART1_TXI2C1时钟、5V容忍
43PB7I/OFTPB7I2C1_SDA、TIM4_CH2USART1_RXI2C1数据、5V容忍
44BOOT0I3.3VBOOT0--启动选择,高电平进ISP
45PB8I/OFTPB8TIM4_CH3I2C1_SCL、CAN_RX通用定时器、5V容忍
46PB9I/OFTPB9TIM4_CH4I2C2_SDA、CAN_TX通用定时器、5V容忍
47VSS3S-数字地--芯片数字接地
48VDD3S-数字电源--芯片数字供电,3.3V

STM32 支持 JTAG/SWD 两种调试方式:

  • SWD:SWDIO、SWCLK – 【ST-LINK 用的是 SWD 方式】
  • JTAG:JTMS、JTCK、JTDI、JTDO、NJTRST

BOOT 与启动模式:
.

BOOT0BOOT1启动位置说明用途
0任意主闪存(Flash)从芯片内部程序存储器启动正常运行、下载程序后默认使用
10系统存储器(ISP)从出厂固化的串口下载程序启动串口一键下载、USB转TTL烧录
11内置SRAM从内存启动,不掉程序调试、快速运行代码,断电丢失

快速记忆:

  • 正常运行:BOOT0=0
  • 串口下载:BOOT0=1,BOOT1=0
  • 调试运行:BOOT0=1,BOOT1=1

💙 STM32 系统结构 (截图自参考手册 2.1)

三个总线 + 三大块结构

在这里插入图片描述

💙 STM32F103C8T6 最小系统电路

在这里插入图片描述

【STM32F103C8T6微控制器介绍】 STM32F103C8T6因其性价比高、功能齐全的特点,被广泛应用于智能硬件、物联网设备、工业自动化控制、电机驱动、消费电子产品、智能家居、无线通信等多个领域。• 定时器:多个通用定时器和高级定时器,可用于脉冲宽度调制(PWM)、输入捕获、输出比较、正交编码器接口等功能。• GPIO(通用输入/输出):拥有多个GPIO端口,支持多种配置模式,如推挽输出、开漏输出、模拟输入等。• 数据存储器(SRAM):20KB,作为运行时的工作空间,存储变量和中间计算结果。 阅读详情

相关推荐

STM32F103C8T6实现蜂鸣器程序实验

STM32F103C8T6 是一款基于 ARM Cortex-M3 内核的 32 位单片机,具有高性能、低功耗的特点,拥有丰富的外设接口,包括多个 GPIO 端口、定时器、串口等,能够满足各种嵌入式应用需求。本文通过详细的硬件设计和软件实现过程,成功实现了基于 STM32F103C8T6 的蜂鸣器实验程序。该程序不仅能够实现蜂鸣器的定时发声,还可以通过改变定时器参数来控制发声频率,实现不同音调的播放。

m0_69690816的博客 1427

01、【江科大自化协stm32F103c8t6】笔记之【入门32单片机及GPIO初始化参数配置】

江科大自化协stm32F103c8t6笔记

qq_740388770的博客 1万+

用CubeMX生成STM32F103C8T6的工程

在 “RCC”(Reset and Clock Control)部分,将 “HSE(High - Speed External)” 设置为 “Crystal/Ceramic Resonator”,这样就启用了外部高速晶振。如果你的调试器支持 “JTAG” 模式,也可以选择 “JTAG”,不过它需要占用更多的引脚(通常是 5 个引脚:TMS、TCK、TDI、TDO 和 nTRST)。选择 “Toolchain/IDE”,选择 “MDK - ARM”(用于 Keil),设置工程名称、保存路径等信息。

FCZlll的博客 1851

零基础-----单片机入门学习笔记(STM32F103C8T6)(一)

B+C = 11+12 = 23 = 两个10和三个1 = 几个16和几个1 = 1个16和7个1 = 17h。为了完成一个具体的功能,我要操作哪一块内存(阅读文档)?C语言如何既有变量,有能操作指定的内存空间-----指针。10进制,0 1 2 3 4 5 6 7 8 9。但是C语言中,既有变量,又能直接操作内存。12 = 一个10 加 两个1。把两块内存,合成一个,一次赋值。如何编写c语言代码操作内存?

Darken03的博客 329

基于stm32F103c8t6和GPS模块做的小玩意儿

用的单片机是stm32f103c8t6,GPS模块是NEO-M8N模块,屏幕用的是SPI总线的0.96寸OLED显示屏,可以显示经度纬度,卫星授时,海拔,寻星数等数据。也可在本代码上继续添加功能。

【实战指南】OpenClaw Telegram 群聊不响应完整解决方案:从获取群 ID 到关闭隐私模式全流程

将整个从“获取群组 ID → 配置 OpenClaw Telegram 通道 → 关闭隐私模式 → 测试”的全流程都整合进去。

hampeter的博客 3487

STM32F103C8T6学习笔记

这样我们就配置好需要的GPIO,然后使用输入或输出的函数控制GPIO口点亮LED灯实例补充知识点:开漏输出 = 高电平高阻态,无驱动能力常用于I2C通信,总线接上拉电阻。推挽输出 = 高低电平都有驱动能力;初始化的第一步开启时钟,这里总共涉及了RCC和GPIO两个外设★常用的三个RCC外设。

tao77777的博客 2158

别再手动算考勤了!教你用Python+企业微信API自动生成月度报表

本文介绍如何利用Python和企业微信API构建自动化考勤分析系统,实现从数据获取到可视化报表生成的全流程自动化。通过企业微信打卡接口获取数据,使用Pandas进行高效清洗和分析,并生成Excel和HTML格式的报表,大幅提升考勤统计效率。系统支持智能判定考勤状态,如迟到、早退等,并可通过定时任务实现月度自动化运行。

weixin_27875131的博客 288

stm32-f103-c8t6的个人笔记(持续更新)

洋桃一号开发学习stm32 一些个人笔记 欢迎学习和大佬指正

Wozart_Kate的博客 1023

QCC304x系列开发教程(实战篇)之5.2 QCC3040之提示音

earbud_init.c中,初始化table中UiPrompts_Init /*! \brief Table of initialisation functions */ static const init_table_entry_t appInitTable[] = { ......... {UiPrompts_Init, 0, NULL}, ......... } ui_prompts.c中是提示音音处理的主要逻辑和配置源文件 函数static void uiPro...

心跳包的博客 2392

海康visionmaster开发笔记10-集成HALCON第三方算子到VM工具箱的方法

海康visionmaster开发笔记10-HALCON第三方算子到VM工具箱的方法

视觉人机器视觉的博客 4346

STM32F103C8T6-GPIO学习笔记1

STM32F103C8T6,STM32 的GPIO口的简介;基本结构;GPIO的8种输入输出模式的区别。(浮空输入、上拉输入、下拉输入、模拟输入、开漏输出、推挽输出、复用开漏输出、复用推挽输出)

喝雪碧不加盐的博客 5948

【Unity3D开发小游戏】《打地鼠游戏》Unity开发教程

文章目录一、前言二、源码三、正文版本1、相机设置2、洞口设置3、洞口脚本4、鼹鼠5、鼹鼠动画6、鼹鼠碰撞器7、鼹鼠脚本8、击中鼹鼠的效果9、实现击中效果10、增加更多的洞口 一、前言 让我们使用Unity3D开发一个打地鼠游戏吧。 打地鼠游戏是一个非常有趣的街机游戏,是在1976年左右发明的。 游戏的主要玩法就是打击从洞里出来的鼹鼠,玩家击中鼹鼠的速度越快,得分就越高 我们将讲解制作游戏的所需的每...

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 8460

STM32F103C8T6引脚功能整理

STM32F103C8T6引脚定义表引脚号引脚名称类型I/O口电平主功能默认复用功能重定义功能1VBATSVBAT2I/OPC13TAMPER-RTC3I/OPC14OSC32_IN4I/OPC15OSC32_OUT5OSC_INIOSC_IN6OSC_OUTOOSC_OUT7NRSTI/ONRST8VSSASVSSA9VDDASVDDA10PA0-WKUPI/OPA011PA1I/OPA112PA2I/O。

nolate_chen的博客 8万+

C语言试题三之计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+…+(1+2^(0.5)+3^(0.5)+…+n^(0.5))

1 、题目 计算并输出 s=1+(1+2^(0.5))+(1+2^(0.5)+3^(0.5))+…+(1+2^(0.5)+3^(0.5)+…+n^(0.5)) 2、部分函数说明 C 库函数 double pow(double x, double y) 返回 x 的 y 次幂。 3、源代码实现 #include <stdio.h> #include <...

码莎拉蒂 4609

开发simulink 以及stm32半物理仿真碰到的问题,以及处理方法,Error:External Mode Open Protocol Connect command failed(实测有用)

串口实现的,但是在测试的时候发现,这个串口可以正常发送和接收数据,但是一旦把这个串口只让其进行版物理仿真就报错。直接刷写程序是可以的,最后查到问题了。我要实现半物理仿真,就是通过matlab实现可以直接控制stm32板子,实际上是通过xcp on。然后点击simulink上的观测按钮就可以直接和stm32平台进行通讯了。3,还是使用串口3,但是重新需要设置一下com口,因为重新插拔了一下,按照这个设置方法就可以。2,重新加载ioc文件。

pvmsmfchcs的博客 1498

STM32F103C8T6核心板

STM32F103C8T6核心板资源介绍,简介,最小系统板,系统结构,命名规则,引脚分布,引脚复用,程序下载,个人小结等。

m0_64562382的博客 9852

【Qwen2微调实战】LLaMA-Factory框架对Qwen2-7B模型的微调实践

在人工智能的浪潮中,大型语言模型(LLMs)正逐渐成为研究和应用的热点。它们在自然语言处理(NLP)的各个领域,如文本生成、翻译、问答等任务中展现出了卓越的能力。Qwen2-7B模型,作为该领域的佼佼者,不仅因其庞大的参数量和强大的表示能力受到关注,更因其在微调后能够更好地适应特定任务而备受关注。本文将详细介绍如何利用LLaMA-Factory这一高效的微调框架对Qwen2-7B进行微调,以期达到提升模型在特定任务上的表现。

寻道AI,探索AI无限可能! 2万+

STM32F103C8T6程序烧录方法

STM32F103C8T6程序烧录方法,可能会报错以及处理办法

weixin_51248645的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

STM32学习 基于STM32F103C8t6

STM32学习 基于STM32F103C8t6 STM32F103C8t6命名规则 先对自己使用的芯片命名有所了解,才能更好的宏观掌控 STM32F103C8t6引脚命名

qq_40658890的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

stm32f103c8t6 PWM输出

前言 首先我们来了解一下 PWM 的概念,PWM(Pulse Width Modulation)即为脉冲宽度调制。放到我们这里,简单点说,就是利用单片机产生指定占空比和指定频率的方波。例如,单片机输出了一个高电平 0.5s,低电平 0.5s 的方波。那么,这个方波的占空比为 0.5/(0.5+0.5)=50%,高低电平各占一半,频率为周期(0.5s+0.5s)的倒数,即为 1Hz。如果高电平为 0.2s,低电平为 0.8s 则占空比为 0.2/(0.2+0.8)=20%,其他情况依次类推。 以单片机 ST

weixin_48870255的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

用Arduino编程STM32F103C8T6

使用Arduino为STM32F103C8T6编程安装Arduino软件下载并烧录bootloader安装串口支持特点 STM32F103C8T6是一款ARM Cortex-M3系列的32位RISC内核的处理器芯片。主频72MHz,性能优越。可是要用HAL库配置比较麻烦,不像Mbed OS或者是Arduino软件对硬件做了抽象,用户可以少关心硬件而多关注应用。 安装Arduino软件 我的机器已经...

caixf的博客 9636

STM32F103C8T6和C6T6的区别

STM32F103C8T6和C6T6的区别 C8T6和C6T6的区别 初学者刚到淘宝或者PDD上买个廉价国产C6T6可能很疑惑,C8T6和C6T6到底由哪些区别?下面给大家稍微讲解一下(本人对C6T6芯片不是特别了解,大佬请勿喷~) 总体上 其实C8T6和C6T6都是一样的管脚分配,如果作为一些基本项目的芯片使用C6T6完全足够,而且在性价比方面也比较高现在的价格一般在13-19之间,使用无门槛券可能更低。 细节上(与C8T6相比)!!! 1.C6T6没有串口3(及USART3); 2.C6T6没有通用定时

m0211的博客 5万+

【mcuclub】单片机-STM32F103C8T6

【单片机俱乐部】单片机-STM32F103C8T6,如需资料,可到www.mcuclub.cn下载

weixin_61121477的博客 1万+

STM32F103C8T6最小系统设计

本设计是一个基于STM32F103C8T6的单片机最小系统。包括了复位电路、晶振电路、电源排针等单片机工作必要的外围电路,且把常用的引脚全部引出,方便研发人员将本方案嵌入到开发中。本最小系统兼容STM32F103C8T6、STM32F103CBT6等LQFP-48封装的单片机芯片。 pcb及原理图、库文件下载提取码:9zx6 ...

红茶绿茶和奶茶的博客 2万+

STM32F103C8T6电压测量

学习笔记!!!参考:视频B站铁头山羊B站江科大STM32。

Kxdbc的博客 3866
上一篇: 【保姆级实操版 - STM32 系列笔记】STM32F103标准库开发:Keil5新建工程完整教程
下一篇: STM32 GPIO 8种工作模式(最简说明)STM32 GPIO 8种工作模式(最简说明)
CODE_RabbitV
博客等级 码龄7年 2931粉丝 218原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值