博客
关于我
实验三:STM32使用固件库点亮LED
阅读量:400 次
发布时间:2019-03-05

本文共 813 字,大约阅读时间需要 2 分钟。

编程要点

1. 启用GPIO端口时钟; 2. 初始化GPIO目标引脚为推挽输出模式; 3. 控制GPIO引脚输出高低及电平。

bsp_led.h文件

该文件对LED灯的GPIO控制功能进行了封装。通过定义GPIO端口、引脚号及时钟,实现了对LED灯的高效控制。以下宏定义简化了应用代码与硬件无关:
  • #define LED1_GPIO_PORT GPIOB:红色LED对应GPIOB端口;
  • #define LED1_GPIO_CLK RCC_APB2Periph_GPIOB:红色LED对应的时钟;
  • #define LED1_GPIO_PIN GPIO_Pin_5:红色LED对应的引脚;

类似地定义了绿色、蓝色LED的相关参数。应用代码可直接调用这些宏,避免硬件依赖。

bsp_led.c文件

该文件通过GPIO初始化和控制实现了LED灯的基本功能。具体步骤如下:
  • 启用相关GPIO外设时钟;
  • 设置GPIO为通用推挽输出模式;
  • 设置引脚速率为50MHz;
  • 初始化并配置各个LED引脚;
  • 提供控制LED状态的接口函数,如开关、关关、翻转等。
  • Main.c文件

    主程序文件中,通过调用bsp_led.h提供的接口实现了LED灯的显示效果。具体操作包括:
    • 初始化LED灯相关GPIO;
    • 通过控制各个LED引脚实现颜色显示循环;
    • 包含红、绿、蓝、黄、紫、青、白、黑等多种颜色显示效果;
    • 使用软延时函数确保显示效果的可见性。

    LED电路连接图

    LED电路由三个LED(红、绿、蓝)通过与主控板的GPIO接口连接完成。具体连接方式如下:
    • 红色LED连接GPIOB.5引脚;
    • 绿色LED连接GPIOB.0引脚;
    • 蓝色LED连接GPIOB.1引脚;

    程序下载验证

    通过ST-Link或其他支持STM32的编程工具,将Main.c文件下载至开发板。运行程序后,可观察到LED灯按顺序显示出红、绿、蓝、黄、紫、青、白、黑等多种颜色,验证控制效果。

    转载地址:http://zdpzz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现hardy ramanujana定理算法(附完整源码)
    查看>>
    Objective-C实现harmonic series调和级数算法(附完整源码)
    查看>>
    Objective-C实现harris算法(附完整源码)
    查看>>
    Objective-C实现HashTable哈希表算法(附完整源码)
    查看>>
    Objective-C实现haversine distance斜距算法(附完整源码)
    查看>>
    Objective-C实现heap sort堆排序算法(附完整源码)
    查看>>
    Objective-C实现heaps algorithm堆算法(附完整源码)
    查看>>
    Objective-C实现heap堆算法(附完整源码)
    查看>>
    Objective-C实现Heap堆算法(附完整源码)
    查看>>
    Objective-C实现hexagonal numbers六边形数算法(附完整源码)
    查看>>
    Objective-C实现hidden layers neural network浅层神经网络算法(附完整源码)
    查看>>
    Objective-C实现highest response ratio next高响应比优先调度算法(附完整源码)
    查看>>
    Objective-C实现hill climbing爬山法用来寻找函数的最大值算法(附完整源码)
    查看>>
    Objective-C实现Hill密码加解密算法(附完整源码)
    查看>>
    Objective-C实现histogram stretch直方图拉伸算法(附完整源码)
    查看>>
    Objective-C实现Hopcroft算法(附完整源码)
    查看>>
    Objective-C实现horizontal projectile motion平抛运动算法(附完整源码)
    查看>>
    Objective-C实现hornerMethod霍纳法算法(附完整源码)
    查看>>
    Objective-C实现Horn–Schunck光流算法(附完整源码)
    查看>>
    Objective-C实现Http Post请求(附完整源码)
    查看>>