一、项目目标:让外设真正“协作起来”
这个小项目要实现的功能非常明确:
- 读取温度传感器数据(ADC)
- 显示温度在 OLED 上(I2C)
- 温度超限时蜂鸣器报警(PWM/定时器)
- 通过按键调整报警阈值(GPIO 输入)
- 通过串口输出调试信息(UART)
- 后台定时刷新显示(定时中断 + DMA)
这一个项目,几乎覆盖了 STM32 的全部核心外设模块,是最适合系统学习的实践框架。
二、外设初始化思路
1. RCC 时钟系统
所有外设都依赖时钟。先开启 GPIO、USART、ADC、TIM、I2C 等模块的时钟。
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE);
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3|RCC_APB1Periph_I2C1,ENABLE);
2. GPIO 配置
评论区
登录后即可参与讨论
立即登录