STM32F103C8T6最小系统
一 开篇
STM32F103C8T6

芯片引脚图

| ST 意法半导体推出的 | 的 32 位微控制器 |
|---|---|
| 基于 | ARM Cortex‑M3 内核 |
| 主频最高 | 72 MHz |
| 内置 | 64 KB Flash与 20 KB SRAM |
| 工作电压 | 2.0–3.6 V |
| 封装为 | LQFP48 |
| 具备丰富外设如 2×ADC、3×USART、2×SPI、2×I²C、CAN、USB 等 |
Cortex-M3架构
瑞芯微
1 什么是临界资源?
临界资源就是多线程/进程共享的资源
2 什么是临界区?
临界区就是访问临界资源的代码段
3 访问临界资源的时候,要做什么?
必须要保证线程安全
4 如何保证线程安全?
互斥锁(排他性)、信号量机制
5 死锁产生的4个必要条件
- 资源互斥访问
- 请求且保持
- 不可剥夺
- 循环等待
6 日常中开发都用的工具有哪些?
一般使用Vscode+EIDE插件多一些,因为它的扩展插件资源比较多,也有用过CubeIED以及在学校也是用的keil这些。
7 程序编译流程?
- 预处理 -E .i-
- 编译 -S .s
- 汇编 -C .o
- 链接
固件?
固件文件后缀是.hex或者.bin,.bin文件是没有调试信息,所以体积更小
而固件它是存储到MCU内部flash的一段程序,固化在掉电不丢失的flash
二 最小系统电路
最小系统构成

1. 电源电路

LDO降压(稳压)电路(USB的5V输入,输出3.3V)
防止电压跌落导致MCU不能正常工作。
电容的大小,首先是根据厂家的数据手册指导,之后跳过实验观察示波器来确定。

还有一个通过二极管来稳压的电路,它使用的是稳压二极管,工作在反向击穿区(外加了反向偏置,截止状态区)

去耦电路
用于滤除杂波,保持引脚电压的稳定。电容也需要尽量靠近芯片引脚,分布在芯片四周。

2. 下载电路

3. BOOT电路(决定程序烧录位置)
下载电路有BOOT的选择,根据不同下载方式配置跳线帽
| 启动方式 | BOOT0 |
|---|---|
| 从主闪存存储器启动 | 0 |
| 从系统存储器启动 | 1 |
| 从内置SRAM启动 | 1 |
主闪存起始地址0x800 0000


注意:BOOT引脚接10K电阻。

4. 时钟电路(晶振电路)
(注意:晶振要尽量靠近芯片,晶振底部不要穿过其他支路,防止信号串扰)

5. 复位电路
配置上拉电阻,默认高电平
STM32有三种复位方式:电源复位、系统复位以及后备域复位

有两种理解:
第一是:电阻,上拉作用。R接电源,拉高NRST管脚,拉为高电平,为1,那么需要提供低电平0才能复位,那么这个机制是默认高低哪怕,不复位。
第二是:电容,断电的时候,电容C充电,按下时候C放电,形成低电平0。
也可以称之为RC电路。
时间=CR(s)
6. 其他外围电路
1-电源指示灯

2-测试LED灯

相关知识补充
NC:表示保留不用,未连接标识
CC1、CC2:用于区分正反差,从而选择其中一组DP2、DN1或者DP1、DN2为一组
typeC接口的CC1、CC2必须分别使用5.1KΩ的电阻接地。
2.电容是什么?
存储电荷的容器
3.DC-DC与LDO的区别?
DC-DC:直流转直流,转换效率高
LDO:稳压器(转换效率相对低)
降压的过程中,转化为热能消耗释放
运放有同相输入端(+)和反向输入端(-)

拓展-PD诱骗是什么?
PD诱骗,PD(Power Delivery)快充协议
是让充电头以为能够支持高电压充电的一种协议。
用电设备通过协议芯片,向充电器发送申请比默认5V更高的电压,从微软使充电器切换到目标电压工作。
PD诱骗详细介绍
4.什么是相位?什么是幅值?
相位:信号在周期中的位置,超前/滞后多少度
幅值:信号的大小(如电压多高、电流多大范围)
浙公网安备 33010602011771号