查看: 1042|回复: 0

[STM32L496-DISCOVERY]自己动手实现第一个程序--跑马灯

[复制链接]
  • TA的每日心情
    慵懒
    2017-12-23 11:10
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2017-12-4 10:30:54 | 显示全部楼层 |阅读模式
    分享到:
    *************************************************************************************************
           本文为原创作品,转载请注明:
    https://jingyan.eeboard.com/article/edit/76231
    版权所有!侵权必究,谢谢合作!!
    *************************************************************************************************
    学习stm32l496有一段时间了,在自己烧录了几个example 例子后。尝试写一个跑马灯。
    我们以example的例子作为模板,在上面添加实现我们的功能。
    打开:
    E:\en.stm32cubel4\STM32Cube_FW_L4_V1.10.0\Projects\STM32L496G-Discovery\Examples\
    C:/Users/11244/AppData/Local/YNote/data/qq110FF9A4ECAC332117CA92306A773656/1cee19c4c01e4f4c883eef19308813e7/3c0d4c34e81a40299d0d732380d227f1.jpg

    这是一个实现led2 频闪的APP。
    我们看code。


    可以看到首先是初始化HAL LIB,时钟配置,最后就是gpio配置推挽输出模式,并把LED2 pin 拉高。
    然后在while循环中,调用HAL API,每隔100ms.把LED2 PIN拉低。所以LED2就会出现频闪。

    上面只是一个LED2,我们要实现LED1和LED2交替频闪,首先最基础的最直接的思维方式,就是将我们刚才的gpio 设置函数重新copy一份,把LED2换成LED1。但是实际过程中,并不是这么简单。因为LED2和LED1 PIN 不一样。查阅手册,LED1通过mfx上,不是gpio。
    查阅BSP API,我们调用BSP API ,即可完成LED1的频闪。
    下面是我添加的code。
    包含BSP IO 的头文件,#include "stm32l496g_discovery_io.h"

    编译,烧录,运行。可以看到跑马灯的效果。下面是视频链接:
    video_20171130_132324.mp4
    最后,总结一下,对于每个事物和方法,不能盲目的模仿类比,一定要搞清楚原理和之间的区别,这样才会少走弯路,事半功倍。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-3-28 21:48 , Processed in 0.129032 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.