1. STM32 GPIO基础与开发环境搭建
作为一名嵌入式开发者,我使用STM32系列单片机已有五年时间。今天我想分享STM32F103C8T6这款经典芯片的GPIO开发经验,特别是基于HAL库的实战技巧。这个被戏称为"蓝色药丸"的开发板,以其出色的性价比成为入门STM32的首选。
1.1 认识STM32F103C8T6引脚布局
打开我的工作台抽屉,随手拿出一块STM32F103C8T6最小系统板。这个只有拇指大小的板子中央,就是我们要研究的核心——48引脚的STM32F103C8T6芯片。通过CubeMX软件查看引脚分布时,新手常会困惑于各种颜色的引脚标注。让我来拆解:
- 普通IO引脚(灰色):共37个,分为GPIOA~GPIOD四组。其中:
- GPIOA和GPIOB各有16个引脚(PA0-PA15, PB0-PB15)
- GPIOC只有3个引脚(PC13-PC15)
- GPIOD仅有2个引脚(PD0-PD1)
实际开发中要注意,PC13通常连接板载LED,PC14和PC15用于外部低速晶振,使用时有特殊限制。
- 特殊功能引脚:剩下的11个彩色引脚各司其职:
- 电源引脚(VDD/VSS)必须正确连接,建议每个VDD都接0.1μF去耦电容
- NRST复位引脚需要保持稳定,典型电路是10kΩ上拉电阻加0.1μF电容
- BOOT0引脚决定启动模式,正常运行时需接地
1.2 开发环境准备
工欲善其事,必先利其器。我的开发环境配置如下:
-
硬件准备:
- STM32F103C8T6开发板(某宝约10元)
- ST-Link V2调试器(建议购买正版,山寨版约15元)
- USB转TTL模块(用于串口通信,CH340芯片约5元)
- 杜邦线若干(建议使用镀金接头的)
-
软件安装:
- Keil MDK-ARM(需注册获取license)
- STM32CubeMX(图形化配置工具)
- STM32CubeF1 HAL库(针对F1系列)
- ST-Link驱动
安装时有个小技巧:先装Keil再装CubeMX,这样CubeMX能自动检测到Keil路径。我第一次配置时顺序反了,结果花了半小时排查代码生成问题
