简介:
本文在于根据自己的理解,将stm32f103外设按照功能分个类别,便于记忆。下面的几张图一定要熟悉,后期编写代码时能够快速找到想要的功能和对应的引脚。
我使用的工具链是:使用CubeMX完成keil5工程搭建和引脚初始化功能,然后用Keil5编译和调试代码,再使用VScode阅读和编写代码。至于为什么要使用这三个工具组合起来,是因为这三个软件各自的优点不能集于一身,只能分开使用。
一、芯片正面引脚图
以下是STM32f103vet6的正面引脚图,一共100个脚。
二、系统架构图
三、引脚按照功能划分类别
此图来自野火的《零基础玩转stm32》一书,大致分类两类,最小系统引脚和GPIO引脚,
GPIO重点是复用功能,基本的GPIO就是输出高低电平,太简单。重点放在复用功能上。
四、CubeMX搭建工程时的分类
如下图左边,大致分为内核、ADC、定时、通信四个模块,最后两个很少用,外设也少,暂时不纳入。
五、按照自己理解分类:
首先熟悉系统架构图,然后综合三和四划分为:最小系统+GPIO两大部分,其中GPIO复用又分为:四大部分+两个外部。标注为绿色的基本都需要熟练使用才行。
内核:NVIC、DMA
通信:UART1~5、I2C1~2、SPI1~3、CAN、USB、SDIO、FSMC
定时器:TIM1~8、SysTick、IWDG、WWDG、RCC、RTC
数模转换:ADC1、ADC2、ADC3、DAC
多媒体:I2S2、2S3
校验:CRC
接下来就按照这个顺序,挨个学习它们的配置和使用吧。