登录/注册

stm32f103小灯交替闪烁

更多

以下是一个基于STM32F103的LED交替闪烁示例代码,使用标准外设库编写:

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

// 简易延时函数
void Delay(uint32_t nCount) {
    for(; nCount != 0; nCount--);
}

int main(void) {
    GPIO_InitTypeDef GPIO_InitStructure;

    // 开启GPIOA时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

    // 配置PA0和PA1为推挽输出
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  // 推挽输出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 速度50MHz
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    while(1) {
        // LED1亮,LED2灭
        GPIO_SetBits(GPIOA, GPIO_Pin_0);    // PA0高电平
        GPIO_ResetBits(GPIOA, GPIO_Pin_1);  // PA1低电平
        Delay(500000);  // 延时

        // LED1灭,LED2亮
        GPIO_ResetBits(GPIOA, GPIO_Pin_0);  // PA0低电平
        GPIO_SetBits(GPIOA, GPIO_Pin_1);    // PA1高电平
        Delay(500000);  // 延时
    }
}

关键说明:

  1. 硬件连接:假设LED正极接PA0和PA1,负极接地。若实际连接相反(如共阳极接法),需调换SetBitsResetBits

  2. 延时函数Delay函数通过空循环实现,参数可根据实际闪烁频率调整(数值越大延时越久)。

  3. 时钟配置:代码默认使用内部时钟(8MHz)。若使用外部晶振,需在main函数前添加系统时钟初始化代码:

    SystemInit(); // 初始化系统时钟(例如72MHz)
  4. 引脚模式GPIO_Mode_Out_PP表示推挽输出模式,可提供较强的驱动能力。

操作步骤:

  1. 创建一个STM32工程(如使用Keil MDK)
  2. 复制代码到main.c
  3. 根据实际硬件修改GPIO引脚号
  4. 编译并下载到开发板
  5. 观察两个LED交替闪烁效果

若使用HAL库,核心逻辑类似,主要区别在于函数调用方式(如HAL_GPIO_WritePinHAL_Delay)。建议根据实际开发环境选择适用的库函数。

STM32F103VET6

1970-01-01 08:00:00 至 1970-01-01 08:00:00

ARM系列STM32F103芯片的解密方法

破解STM32F103芯片的方法

2023-09-19 09:03:40

ch32v103stm32f103的区别

ch32v103与stm32f103的区别  Ch32v103与STM32f103

2023-08-22 15:49:00

基于STM32F103的SVPWM算法实现

基于STM32F103的SVPWM算法实现

资料下载 jinyi7016 2022-03-22 12:12:17

基于STM32F103芯片实现LED闪烁

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档基于STM32F103芯片实现LED灯闪烁前言一,二、使用步骤1.引入库2.读入

资料下载 笑尽往事 2021-12-07 09:51:08

基于STM32f103的输入捕获测频率和占空比

基于STM32f103的输入捕获测频率和占空比

资料下载 shyshyshy 2021-08-02 10:10:24

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

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

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

基于STM32f103使用的DAC正弦波

基于STM32f103使用的DAC正弦波

资料下载 shyshyshy 2021-08-02 10:05:00

STM32F103 GPIO内部电路图讲解

STM32F103 GPIO内部电路图讲解

2023-02-01 16:32:14

基于STM32F103单片机的矩阵按键设计

本实验使用STM32F103单片机,主题代码通用的。

2022-12-09 17:18:46

STM32F103芯片实现LED闪烁

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档基于STM32F103芯片实现LED灯闪烁前言一,二、使用步骤1.引入库2.读入

2022-02-10 07:24:44

如何利用STM32F103C8T6去控制LED轮流闪烁

STM32F103芯片的地址映射和寄存器映射原理是什么?如何利用STM32F103C8T6去控制LED灯轮流

2022-01-19 07:22:58

如何利用STM32F103C8T6去实现两个LED交替闪烁的设计

如何利用STM32F103C8T6去实现两个LED灯交替闪烁的设计?共分

2021-11-25 07:25:24

如何使用STM32F103通用定时器中断来实现LED闪烁

STM32F103系列的单片机一共有几个定时器呢?如何使用STM32F103通用定时器中断来实现LED灯

2021-11-24 07:44:28

stm32f030和stm32f103功能差异

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

2021-07-22 09:35:47

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