查看: 10398|回复: 12

【探索STM32F303VC-EVAL开发板】系列之三--按键+LED

  [复制链接]
  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-6-4 14:25:38 | 显示全部楼层 |阅读模式
    分享到:
    【探索STM32F303VC-EVAL开发板】系列之三
    ——按键+LED
                     Fengye5340
         
    SM32F303VC-EVAL开发板上面带有4LED,颜色分别是蓝色、红色、橙色和绿色,用PE8/PE9/PE10/PE114IO来控制,可以进行单路、流水、信号指示等各种应用。按键资源方面,F3-EVAL还带有一个用户按键,用PE6口进行控制,一个Joystick按键,分别用PC13/PD5/PB5/PD6/PE75IO进行控制。
    电路原理图如下:
              1.jpg
                   2.jpg
      
          
    第一  简单LED灯控制
       实现LED灯的控制是比较简单的,根据上面的原理图,只要给PE8/PE9/PE10/PE11这些IO赋值就可以。赋值1时,关闭LED, 赋值0时,点亮LED
    在进行各种LED显示时,最基本的步骤就是:
      A、端口初始化。包括打开时钟,端口配置,初始化和附初始值。见图
           3.jpg
         
         在其中,使用了一些宏定义,见附件LED_303VCT6.H文件内容。
    B、实现软件延时子函数、根据需要实现硬件延时(systick or timer)
           5.jpg
         
          
    CC、编写各种LED灯子程序   
          4.jpg
      在这里,实现了蓝///绿LED灯的分别闪烁和翻转,左流水灯,右流水灯,全部闪烁等子程序。这些程序可以单独调试,为了增加应用性,将这些内容放在按键部分中了。
    第二  用户按键和JOYSTICK
         按键是最常用的输入设备,编写按键驱动程序,通常采用软件查询方式和中断方式。在F3-EVAL中,实现了用户按键PE6的软件查询方式,并利用用户按键实现多种功能。对于JOYSTICK,有5个按键,采用了外部中断方式实现。附件一工程是
    用户按键程序代码。附件二是采用中断方式的程序代码(可以在里面做修改,将软件查询和中断方式集合在一块)
    下面以第一个附件内容为例,说一下配置步骤:
    A、端口初始化。包括PE6端口的时钟,引脚设置,上下拉设置等。
                 6.jpg
    B、实现软件扫描子程序,这个程序按照通常的方式编写
                7.jpg
           C、设置systick定时,这里设置成10ms的延时,然后将按键扫描子程序,放入systick的中断服务程序中,也就是让系统每10ms检测一下按键。当然也可以采用定时器资源实现,延时时间可调。在一些例程里面,通常会把按键扫描放到主函数的while循环内,这样会浪费CPU资源。采用硬件定时扫描,不会占用CPU,可以让其执行任务。
                8.jpg
             
          D、在主函数中增加一个u8变量,实现按键次数的记录。
                 9.jpg    
          变量key_num负责用户按键次数的记录,当按用户按键的次数不同时,会用不同的LED子程序进行显示,这里实现了7个处理,如果感兴趣,可以增加更复杂的应用。
          第二个附件内容是利用中断方式实现的Joystick按键。步骤如下:
          A、端口初始化。PC13/PD5/PB5/PD6/PE7端口的各种设置。
          B、配置外部中断线
          C、设置中断优先级。
          D实      D、实现中断服务函数对中断线按键的识别。
                   10.jpg
           E、在主函数中,做键值分支处理即可。
       
          
    问题
    在查阅F3-EVAL原理图时,发现PB5PD5分别连着joystick的左键和下键,而这两个端口所在中断向量服务函数只有一个,即EXTI9_5_IRQHandler EXTI_Line5。通常情况下,中断线一次只能使用一个,所以在程序中,只实现了一个PD5的中断,另一个进入服务程序后,没有反应。F3-EVAL既然这样设置硬件,并且在DEMO演示中实现了左键功能,也就是说,是可以用一个中断线和中断服务程序实现两个按键的检测的。由于网上F3-EVAL资料有限,本人没有找到官网例程,所以,现在一时也无法实现这个内容。如果哪位大侠有这方面经验,可以向您学习一下。

    STM32F3-LED-KEY-1.rar

    277.26 KB, 下载次数: 27

    STM32F3-LED-KEY-2.rar

    294.23 KB, 下载次数: 30

    【探索STM32F303VC-EVAL开发板】系列之三--按键 LED.pdf

    419.35 KB, 下载次数: 29

    点评

    【探索STM32F303VC-EVAL开发板】系列之二--开发板演示(视频) https://www.cirmall.com/bbs/thread-13826-1-1.html  发表于 2013-6-4 14:39
    【探索STM32F303VC-EVAL开发板】系列之一—开发板介绍 https://www.cirmall.com/bbs/thread-13753-1-1.html  发表于 2013-6-4 14:38

    评分

    参与人数 2声望 +10 与非币 +20 收起 理由
    kk5290122 + 5 + 10
    小菜儿 + 5 + 10 赞一个!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-6-4 14:33:07 | 显示全部楼层
    顶枫叶系列教程很有料!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-6-4 15:12:17 | 显示全部楼层
    {:soso_e179:}辛苦辛苦。{:soso_e160:}喝杯茶,继续为大家带来精彩吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-11-4 08:32
  • 签到天数: 773 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-6-4 16:50:21 | 显示全部楼层
    我来帮楼主顶顶。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-6-4 17:31:57 | 显示全部楼层
    xinxincaijq 发表于 2013-6-4 14:33
    顶枫叶系列教程很有料!

    :$
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-6-4 17:32:37 | 显示全部楼层
    GY@艳 发表于 2013-6-4 15:12
    辛苦辛苦。喝杯茶,继续为大家带来精彩吧

    多谢G版主啦,呵呵
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-6-4 17:33:14 | 显示全部楼层
    louyj 发表于 2013-6-4 16:50
    我来帮楼主顶顶。

    多谢多谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-7-16 16:03
  • 签到天数: 751 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-6-4 17:53:11 | 显示全部楼层
    顶一个,好东西
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-6-4 19:10:43 | 显示全部楼层
    zhang7309 发表于 2013-6-4 17:53
    顶一个,好东西

    谢谢张兄捧场哦,你的小板最近玩的不错吧?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-7-13 19:58
  • 签到天数: 1818 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2013-6-4 19:23:36 | 显示全部楼层
    好好学习~~~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-4-26 10:51 , Processed in 0.242129 second(s), 35 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.