stm32核心板可以点亮灯吗_利用STM32F103C8T6最小系统板点亮流水灯

本文介绍了如何使用STM32F103C8T6核心板搭建流水灯,包括芯片简介、原理图解析、电路搭建、工程模板修改和代码实现。通过此实验,读者可以学习STM32 GPIO输出的基本操作,为后续的嵌入式开发打下基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9baff3eab75958d401a732b74c1be03d.png

后台网友建议制作一个流水灯,正好发现自己有之前购买的STM32F103C8T6核心板,今天搭建一个流水灯,正好学习一下STM32 GPIO输出如何实现,将来驱动蜂鸣器、继电器等都会使用的。

流水灯相当于计算机语言中的“Hello World”,照着做一遍,实现了它,基本你就入门了。

学习目标

  • STM32F103C8T6最小系统板的使用
  • 面包板搭建流水灯电路的方法
  • 将STM32F103RCT6工程模板修改为STM32F103C8T6的工程模板
  • 熟悉STM32 单片机GPIO作为输出的使用方法

STM32F103C8T6芯片简介

根据STM32&STM8产品型号命名规则(参考:STM32单片机最小系统详解)可知:
STM32F103C8T6这个命名中:

  • STM32代表STM32家族,32位MCU;
  • F代表产品类型为基础型;
  • 103代表特定功能为STM32基础型;
  • C代表引脚数为48&49引脚;
  • 8代表内存容量为64KB;
  • T代表封装为QFP;
  • 6代表温度范围为-40到+85℃。

核心板原理图

### STM32F103C8T6最小系统板LED点亮方法 #### 芯片简介 STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,工作频率可达72MHz。该器件具有丰富的外设接口以及低功耗特性,在嵌入式开发领域广泛应用。 #### 原理图分析 对于采用此型号构建的最小系统而言,其核心部分围绕着STM32F103C8T6展开设计[^1]。通常情况下,为了简化硬件连接并提高稳定性,会集成必要的外围电路如晶振、复位按钮等组件于PCB之上;而用于演示目的(比如控制LED),则会在相应GPIO引脚处预留焊盘以便接线操作。 #### 流水灯电路搭建 要实现简单的LED流水效果,可以按照如下方式布置元件: - 准备若干个限流电阻(建议阻值范围为220Ω至1kΩ之间) - 将每颗LED正极通过上述提到的适当大小的电阻串联后接到指定I/O端口上 - 所有负极端统一接地处理即可形成回路完成基本电气连接设置 #### 修改工程模板代码 针对具体应用场景编写程序逻辑之前,先确保已经安装好适合IDE环境(例如Keil uVision或者STM32CubeMX配合MDK)。接着参照官方提供的标准固件库文档说明来配置项目参数,包括但不限于时钟树调整、中断优先级分配等方面的工作。最后才是着手准备源文件内的业务功能模块编码环节: ```c #include "stm32f1xx_hal.h" // 定义使用的 GPIO 引脚编号数组 uint16_t led_pins[] = {GPIO_PIN_0, GPIO_PIN_1, GPIO_PIN_2}; int main(void){ HAL_Init(); // 初始化HAL库 __HAL_RCC_GPIOA_CLK_ENABLE(); // 开启GPIOA时钟 GPIO_InitTypeDef GPIO_InitStruct = {0}; /* 配置PA0~PA2作为输出 */ GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); while (1){ for(int i=0;i<sizeof(led_pins)/sizeof(uint16_t);i++){ HAL_GPIO_WritePin(GPIOA, led_pins[i], GPIO_PIN_SET); HAL_Delay(500); HAL_GPIO_WritePin(GPIOA, led_pins[i], GPIO_PIN_RESET); } } } ``` 这段示例展示了如何初始化三个位于GPIOA上的引脚,并依次使能它们驱动外部连接的小功率发光二极管发出光芒,从而模拟出流动光带的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值