简单的stm32项目实例
简单的stm32项目实例
以下是一个简单的 STM32 项目实例:使用 STM32F103C8T6(蓝色药丸开发板)控制 LED 闪烁。这个项目适合初学者,涵盖了 GPIO 配置、时钟设置和基本代码编写。
硬件准备
- 主控芯片:STM32F103C8T6(核心板俗称“蓝色药丸”)
- LED:1 个(接在 PC13 引脚,蓝色药丸板载 LED 已连接至此引脚)
- 电阻:220Ω(若使用外部 LED)
- USB-TTL 模块:用于烧录程序(如 CH340)
- 杜邦线:若干
软件准备
- 开发环境:STM32CubeIDE(免费,集成 STM32CubeMX 和代码编辑功能)
- 烧录工具:STM32CubeProgrammer 或 OpenOCD
步骤详解
1. 创建工程
- 打开 STM32CubeIDE → 新建 STM32 工程 → 选择芯片型号
STM32F103C8Tx。 - 配置工程名称(如
LED_Blink)并保存。
2. 配置时钟(RCC)
- 在 Pinout & Configuration 标签页:
- 展开 System Core → RCC。
- 设置 High Speed Clock (HSE) 为 Crystal/Ceramic Resonator(使用外部 8MHz 晶振)。
3. 配置 GPIO
- 在芯片引脚图中找到 PC13(板载 LED 引脚):
- 单击 PC13 引脚 → 选择 GPIO_Output。
- 左侧 System Core → GPIO → 设置 PC13 为:
- GPIO output level: Low(初始低电平)
- GPIO mode: Output Push Pull(推挽输出)
- GPIO Pull-up/Pull-down: No pull-up and no pull-down
- Maximum output speed: Low
4. 生成代码
- 点击 Project → Generate Code,自动生成初始化代码。
5. 编写主程序
- 打开
main.c文件,在main()函数的while(1)循环中添加以下内容:while (1) { HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); // 翻转 PC13 电平 HAL_Delay(500); // 延时 500ms }
6. 编译与烧录
- 点击 Build(锤子图标)编译工程。
- 连接开发板与 USB-TTL 模块:
3V3→3V3GND→GNDPA9(TX) →RXDPA10(RX) →TXD
- 使用 STM32CubeProgrammer 烧录生成的
LED_Blink.hex文件。
电路连接(若使用外部 LED)
STM32 PC13 → 220Ω电阻 → LED正极 → LED负极 → GND
现象
- 板载 LED(或外部 LED)以 1 秒间隔(亮 500ms + 灭 500ms)持续闪烁。
关键代码解释
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13):翻转 PC13 的电平状态(高变低/低变高)。HAL_Delay(500):使用 HAL 库的毫秒级延时函数。
扩展尝试
- 按键控制:配置 PA0 为输入,检测按键按下时切换 LED 状态。
- 呼吸灯:使用 PWM 控制 LED 亮度渐变。
- 串口通信:通过串口发送指令控制 LED。
通过这个简单项目,您已掌握 STM32 的 GPIO 操作和开发流程!后续可学习定时器、中断、ADC 等模块。
STM32项目实战:基于STM32U5的智能大棚温控系统(LVGL),附项目教程/源码
《智能大棚温控系统_STM32U5》项目完整文档、项目源码,点击下方链接免费领取。项目
2024-11-13 17:08:34
STM32项目实战:基于STM32U5的火灾报警系统(LVGL),附项目教程/源码
《火灾报警系统_STM32U5》项目完整文档、项目源码,点击下方链接免费领取。项目
2024-11-13 14:18:50
STM32项目设计:基于STM32F4的mp3、wav音乐播放器 (UCOSIII操作系统、GUI控件)
STM32项目设计:基于STM32F4的mp3、wav音乐播放器 (UCOSIII操作系统、GUI控件)
资料下载
YYXIAO
2021-11-15 15:21:04
STM32项目实战:基于STM32U5的智能灯光控制系统(LVGL),附项目教程/源码
《智能灯光控制系统_STM32U5》项目完整文档、项目源码,点击免费领取。项目
2024-11-07 18:50:00
基于HAL库的STM32项目问题描述
问题描述最近在做的一个基于HAL库的STM32项目需要从多个SPI总线设备读取数据并通过DMA从串口发送,程序如下:(RxData为从SPI总线读取到的数据)sprintf(tempt, "
STM32项目开发中超级实用技巧分享
STM32项目开发中超级实用技巧一. 利用软启动打补丁二. 优化等级尽量选择不优化三. 合理利用开关总中断所有的热爱都要不遗余力,真正喜欢它便给它更高的优先级,和更多的时间吧!关于
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览