登录/注册

STM32F103点亮小灯

更多

以下是使用STM32F103点亮LED的详细步骤:


1. 硬件准备


2. 开发环境


3. 代码实现(标准库版)

步骤1:配置GPIO和时钟

#include "stm32f10x.h"

void LED_Init(void) {
    GPIO_InitTypeDef GPIO_InitStructure;

    // 开启GPIOC时钟(不同引脚需对应总线)
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

    // 配置PC13为推挽输出
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStructure);
}

步骤2:主函数控制LED

int main(void) {
    LED_Init(); // 初始化GPIO

    while(1) {
        GPIO_WriteBit(GPIOC, GPIO_Pin_13, Bit_RESET); // 点亮LED(低电平有效)
        // GPIO_SetBits(GPIOC, GPIO_Pin_13); // 高电平有效时使用
        // 若要闪烁,可添加延时并翻转电平
    }
}

4. 关键注意事项

  1. 引脚有效电平

    • 部分开发板LED设计为低电平点亮(如PC13),需输出Bit_RESET
    • 若外接LED,高电平点亮需输出Bit_SET
  2. 时钟使能

    • 使用RCC_APB2PeriphClockCmd开启对应GPIO端口时钟(APB2总线控制所有GPIO)
  3. 延时函数(如需闪烁):

    #include <stdint.h>
    void Delay(uint32_t count) {
       while(count--);
    }
    // 在主循环中交替设置高低电平并延时

5. 完整闪烁示例

#include "stm32f10x.h"

void Delay(uint32_t n) {
    while(n--);
}

int main(void) {
    GPIO_InitTypeDef GPIO_InitStruct;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStruct);

    while(1) {
        GPIO_WriteBit(GPIOC, GPIO_Pin_13, Bit_RESET); // LED亮
        Delay(1000000);
        GPIO_WriteBit(GPIOC, GPIO_Pin_13, Bit_SET);   // LED灭
        Delay(1000000);
    }
}

6. 下载与测试

  1. 使用ST-Link或USB转串口工具连接开发板
  2. 编译代码并生成.hex.bin文件
  3. 通过FlyMcu、STM32CubeProgrammer等工具烧录程序
  4. 复位开发板,观察LED状态

如有问题,请检查硬件连接、GPIO配置及时钟使能设置!

如何利用STM32F103点亮LED呢

STM32F103点亮LED

2022-02-21 06:38:25

STM32F103点亮12864阵液晶屏的方法

STM32F103成功点亮12864点阵液晶屏前言攻克STM32技术手册

2022-02-21 06:18:09

如何去实现一种STM32F103点亮LED流水灯的设计

STM32F103系列芯片的映射原理是什么?GPIO端口的初始化设置步骤有哪些?如何去实现一种STM32F103点亮LED流水灯的设计?

2022-02-11 07:12:34

STM32F103实验一:点亮LED

STM32F103点亮LED

资料下载 佚名 2021-12-27 18:36:29

STM32F103点灯程序(寄存器)

STM32F103点灯程序(寄存器)

资料下载 向日葵的花季 2021-12-08 17:21:09

STM32F103点亮LED

文章目录一、点灯1.打开时钟2. 初始化3. 设置低电平三、创建项目1. 新建项目2. 编写代码四、连接电路五、总结使用工具:stm32f103C8T6USB转串口面包板导线若干LED3个一、点灯

资料下载 佚名 2021-12-07 09:51:09

STM32F103点亮LED流水灯

本文主要叙述了什么是寄存器及用寄存器和库函数的方式点亮LED流水灯,本文主要采用stm32f103c8t6开发板开发环境:keil μVision 5文章目录一、什么是寄存器二、实验原理1.

资料下载 而无返还 2021-11-26 10:21:05

基于STM32f103的FFT频率测试程序下载

基于STM32f103的FFT频率测试程序下载

资料下载 shyshyshy 2021-08-02 10:07:20

求大佬分享STM32F103点灯程序

求大佬分享STM32F103点灯程序

2022-02-11 06:11:53

如何利用STM32F103点亮一个LED

基于STM32F103点亮一个LED灯1、实验目的2、实验要求3、proteus仿真图4、程序代码1、实验目的1、掌握使用KEIL MDK5进行

2021-12-16 08:28:51

如何用STM32F103ZET6点亮LED

如何用STM32F103ZET6点亮LED灯?

2021-12-16 06:12:41

基于STM32F103 RET6芯片点亮LED

博客内容基于STM32F103 RET6芯片,点亮PC3引脚LED灯,程序主要参考B站:

2021-12-16 06:10:58

如何利用STM32点亮LED

如何利用STM32点亮LED灯?

2021-11-29 06:57:22

如何利用STM32F103点亮6800时序12864阵液晶屏?

如何利用STM32F103点亮6800时序12864点阵液晶屏?

2021-11-25 06:28:52

stm32f030和stm32f103功能差异

stm32f030和stm32f103功能差异主要表现在哪?

2021-07-22 09:35:47

7天热门专题 换一换
相关标签