问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

STM32开发板实现LED流水灯实验教程

创作时间:
作者:
@小白创作中心

STM32开发板实现LED流水灯实验教程

引用
CSDN
1.
https://m.blog.csdn.net/2301_80248142/article/details/144295434

通过使用STM32开发板实现LED流水灯效果,可以熟悉STM32对GPIO的基本配置与操作,掌握简单的嵌入式程序开发流程。

实验器材

硬件:面包板,STM32F103C8T6开发板,ST-Link,跳线和LED灯泡若干,杜邦线若干。

软件:Keil

实验步骤

1. 接线原理图

实物图(可参考):

注:不要把ST-link的各接口和STM32开发板上的接错了!!!

2. 代码(实例)

代码如下(示例):

#include "stm32f10x.h"           // Device header
#include "Delay.h"

int main(void)
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    
    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    
    while (1)
    {
        GPIO_Write(GPIOA, ~0x0001);  //0000 0000 0000 0001
        Delay_ms(100);
        GPIO_Write(GPIOA, ~0x0002);  //0000 0000 0000 0010
        Delay_ms(100);
        GPIO_Write(GPIOA, ~0x0004);  //0000 0000 0000 0100
        Delay_ms(100);
        GPIO_Write(GPIOA, ~0x0008);  //0000 0000 0000 1000
        Delay_ms(100);
        GPIO_Write(GPIOA, ~0x0010);  //0000 0000 0001 0000
        Delay_ms(100);
        GPIO_Write(GPIOA, ~0x0020);  //0000 0000 0010 0000
        Delay_ms(100);
        GPIO_Write(GPIOA, ~0x0040);  //0000 0000 0100 0000
        Delay_ms(100);
        GPIO_Write(GPIOA, ~0x0080);  //0000 0000 1000 0000
        Delay_ms(100);
    }
}

注:此代码为参考

3. 实验结果

8个LED依次亮起,呈现出流水般的视觉效果。

总结

编译代码,STM32开发板运行,成功观察到LED灯依次亮起、熄灭,呈现出流水般的视觉效果,表明本次实验达到预期目标,也进一步加深了对STM32芯片GPIO控制的理解,为后续深入学习嵌入式开发奠定了基础。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号