写这个文章是用来学习的,记载一下我的学习过程。盼望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做!
本文写于:2025.03.31
媒介
本次笔记是用来记载我的学习过程,同时把我需要的困难和思考记下来,有助于我的学习,同时也作为一种风俗,可以督促我学习,是一个鼓励自己的过程,让我们开始32单片机的学习之路。
欢迎各人给我提意见,能给我的嵌入式之旅提供方向和门路,现在作为小白,我就先学习32单片机了,就跟着B站上的江协科技开始学习了.
在这里会记载下江协科技32单片机开辟板的配套视频教程所作的实行和学习笔记内容,由于我之前有一个开辟板,我大概率会用我的板子模仿着来做.让我们一起加油!
别的为了增强我的学习结果:每次笔记把我不知道或者问题在背面提出来,再下一篇开头作为解答!
开辟板说明
本人接纳的是慧净的开辟板,由于这个板子是我N年前就买的板子,索性就拿来用了。别的我也购买了江科大的学习套间。
原理图如下
1、开辟板原理图
2、STM32F103C6和51对比
3、STM32F103C6核心板
视频中的都用这个开辟板来实现,如果有资源就利用起来。别的也筹划实现江协科技的套件。
下图是实物图
引用
【STM32入门教程-2023版 细致解说 中文字幕】
还参考了下图中的书籍:
STM32库开辟实战指南:基于STM32F103(第2版)
数据手册
解答和科普
一、读懂开辟板
1、稳压电路(电源电路)
这个为稳压电路,把从外边的5v电压转化为3.3V电压,给芯片供电。
2、晶振电路
通常情况下,对于一些成熟的STM32开辟板,在其电路原理图的设计中,MCU外接了两个晶振。一个是低速晶振 32.768kHz,另一个是高速晶振 8MHZ。
PC14和PC15用于32.768kHz的低速外部晶振,OSC_IN和OSC_OUT用于高速主晶振。
3、复位电路
上电的话,电源通过电阻开始向电容充电,而且此时电容出现的是短路状态,那NRST引脚就会产生低电平,当电容逐渐充满电时,电容就相当于断路,此时NRST就会被R1上拉为高电平,先低电平,后高电平,所以就是上电复位;按键按下为低电平,达到手动复位的结果。
4、BooT电路
5、电源指示电路
6、调试接口电路
调试端口:PA13和PA14分别作为SWDIO和SWCLK利用,用于体系的调试和编程.
滤波电容:
用来滤波的的电容。
7、主电路引出
从上图可以看出只有VBAT和VCC3.3没用到。
VBAT:备用电源引脚,用于在主电源断电时维持及时时钟(RTC)和备份寄存器的供电;
BOOT0和BOOT1这两个引脚用于配置微控制器的启动模式;
PC14和PC15用于32.768kHz的低速外部晶振,OSC_IN和OSC_OUT用于高速主晶振
RESET:复位引脚
引脚功能概述
STM32F103C8T6的引脚可以分为几个重要类别:
通用I/O引脚:这些引脚可以配置为输入或输出模式,支持外部制止和模拟输入。例如,PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD2、PE0-PE5和PF0-PF1都是通用I/O引脚
体系功能引脚:包括晶振输入、复位引脚、电源引脚等。例如,PC14和PC15用于32.768kHz的低速外部晶振,OSC_IN和OSC_OUT用于高速主晶
通信接口引脚:STM32F103C8T6提供多种通信接口,如USART、I2C和SPI。特定的引脚如PA9/PA10用于USART1的TX/RX,PB10/PB11用于I2C2的SCL/SDA
模拟功能引脚:部分引脚如PA4-PA7和PB0-PB1可用作模拟-数字转换器(ADC)的输入
特殊功能引脚
除了通用I/O功能外,STM32F103C8T6还有一些具有特殊功能的引脚:
VBAT:备用电源引脚,用于在主电源断电时维持及时时钟(RTC)和备份寄存器的供电
BOOT0和BOOT1:这两个引脚用于配置微控制器的启动模式。BOOT0位于引脚44,而PB2(引脚20)可以作为BOOT1利用
调试端口:PA13和PA14分别作为SWDIO和SWCLK利用,用于体系的调试和编程。
团体核心板原理图
32和51的对比接口
下载串口1 PA9 \PA10;
所以串口下载是P3.0对应RX(A10),P3.1对应TX(A9)
二、课程和STM32简介
总线结构
I-Code 总线
I-Code的作用是取指令&执行指令,只和指令有关,I-Code 总线是一条基于 AHB-Lite 总线协议的 32 位总线,负责在 0x0000_0000 – 0x1FFF_FFFF 之间的取指操作。取指以字(32位)的长度执行,纵然是对于 16 位指令也如此。因此 CPU 内核可以一次取出两条 16 位 Thumb 指令。
D-Code 总线
D-Code 的作用是对数据读写访问,只和数据有关,D-Code 总线也是一条基于 AHB-Lite 总线协议的 32 位总线,负责在 0x0000_0000 – 0x1FFF_FFFF(与I-Code相同)之间的数据访问操作。尽管 CM3 支持非对齐访问,但你绝不会在该总线上看到任何非对齐的地址,这是由于处理器的总线接口会把非对齐的数据传送都转换成对齐的数据传送。因此,连接到 D-Code总线上的任何装备都只需支持 AHB-Lite 的对齐访问,不需要支持非对齐访问。
因此,连接到 D-Code总线上的任何装备都只需支持 AHB-Lite 的对齐访问,不需要支持非对齐访问。
下图中总线复用器的作用是,让指令和数据在同一个总线上传输的方式,由于代码存储区既可以由指令指令总线(I-Code)访问(取指时),也可以被数据总线(D-Code)访问(访问数据时),需要在中心插入一个总线开关,称为总线矩阵,或者利用一个AHB总线复用器。
首先D-bus可以访问主SRAM(112K)和FLASH的D-code区
I-bus可以访问主SRAM区的和FLASH的I-code区
然后主SRAM可以被D-bus I-bus 和S-bus访问。
赤色是电源相关的引脚;蓝色的事最小体系相关的引脚,绿色的事IO口、功能口这些引脚
FT 5V没有3.3 V; VSS接到GND
BOOT 启动设置
串口下载的时候就用0 1来完成。
这5个是调试端口,它们既可以用来下载程序,也可以作为平凡IO口利用,如果我们在程序中把这5个端口全部配置成了IO口,那这就坏了,由于这个芯片没有调试端口了,也就下载不了程序了(所以要小心)。这就需要用到串口的方式下载程序了。
VBAT:备用电源
8MHz颠末内部锁相环倍频,得到72MHz的主频。
RTC:需要接一个32.768KHz的晶振;2^15,举行分频后得到1S的时间信号了。
问题
1、刚开始还是有点陌生。
总结
本节课重要是相识这个课程和一些常见的外设,和STM32的引脚定义和功能,如何下载程序和boot有关,还知道了总线结构。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |