2赞

12回答

1收藏

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

 

STMCU STMCU 12068 人阅读 | 12 人回复 | 2013-06-04

【探索STM32F303VC-EVAL开发板】系列之三
——按键+LED
                 Fengye5340
     
SM32F303VC-EVAL开发板上面带有4LED,颜色分别是蓝色、红色、橙色和绿色,用PE8/PE9/PE10/PE114IO来控制,可以进行单路、流水、信号指示等各种应用。按键资源方面,F3-EVAL还带有一个用户按键,用PE6口进行控制,一个Joystick按键,分别用PC13/PD5/PB5/PD6/PE75IO进行控制。
电路原理图如下:
         

              
  
      
第一  简单LED灯控制
   实现LED灯的控制是比较简单的,根据上面的原理图,只要给PE8/PE9/PE10/PE11这些IO赋值就可以。赋值1时,关闭LED, 赋值0时,点亮LED
在进行各种LED显示时,最基本的步骤就是:
  A、端口初始化。包括打开时钟,端口配置,初始化和附初始值。见图
      
     
     在其中,使用了一些宏定义,见附件LED_303VCT6.H文件内容。
B、实现软件延时子函数、根据需要实现硬件延时(systick or timer)
      

     
      
CC、编写各种LED灯子程序   
     
  在这里,实现了蓝///绿LED灯的分别闪烁和翻转,左流水灯,右流水灯,全部闪烁等子程序。这些程序可以单独调试,为了增加应用性,将这些内容放在按键部分中了。
第二  用户按键和JOYSTICK
     按键是最常用的输入设备,编写按键驱动程序,通常采用软件查询方式和中断方式。在F3-EVAL中,实现了用户按键PE6的软件查询方式,并利用用户按键实现多种功能。对于JOYSTICK,有5个按键,采用了外部中断方式实现。附件一工程是
用户按键程序代码。附件二是采用中断方式的程序代码(可以在里面做修改,将软件查询和中断方式集合在一块)
下面以第一个附件内容为例,说一下配置步骤:
A、端口初始化。包括PE6端口的时钟,引脚设置,上下拉设置等。
            
B、实现软件扫描子程序,这个程序按照通常的方式编写
           
       C、设置systick定时,这里设置成10ms的延时,然后将按键扫描子程序,放入systick的中断服务程序中,也就是让系统每10ms检测一下按键。当然也可以采用定时器资源实现,延时时间可调。在一些例程里面,通常会把按键扫描放到主函数的while循环内,这样会浪费CPU资源。采用硬件定时扫描,不会占用CPU,可以让其执行任务。
           
         
      D、在主函数中增加一个u8变量,实现按键次数的记录。
            
   
      变量key_num负责用户按键次数的记录,当按用户按键的次数不同时,会用不同的LED子程序进行显示,这里实现了7个处理,如果感兴趣,可以增加更复杂的应用。
      第二个附件内容是利用中断方式实现的Joystick按键。步骤如下:
      A、端口初始化。PC13/PD5/PB5/PD6/PE7端口的各种设置。
      B、配置外部中断线
      C、设置中断优先级。
      D实      D、实现中断服务函数对中断线按键的识别。
              
       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 赞一个!

查看全部评分

分享到:
回复

使用道具 举报

回答|共 12 个

倒序浏览

沙发

小菜儿

发表于 2013-6-4 14:33:07 | 只看该作者

顶枫叶系列教程很有料!
板凳

GY@艳

发表于 2013-6-4 15:12:17 | 只看该作者

{:soso_e179:}辛苦辛苦。{:soso_e160:}喝杯茶,继续为大家带来精彩吧
爱板  爱板  爱板     https://www.cirmall.com
地板

zndz410

发表于 2013-6-4 16:50:21 | 只看该作者

我来帮楼主顶顶。
5#

fengye5340-272571

发表于 2013-6-4 17:31:57 | 只看该作者

xinxincaijq 发表于 2013-6-4 14:33
顶枫叶系列教程很有料!

:$
6#

fengye5340-272571

发表于 2013-6-4 17:32:37 | 只看该作者

GY@艳 发表于 2013-6-4 15:12
辛苦辛苦。喝杯茶,继续为大家带来精彩吧

多谢G版主啦,呵呵
7#

fengye5340-272571

发表于 2013-6-4 17:33:14 | 只看该作者

louyj 发表于 2013-6-4 16:50
我来帮楼主顶顶。

多谢多谢
8#

zhangb7309

发表于 2013-6-4 17:53:11 | 只看该作者

顶一个,好东西
9#

fengye5340-272571

发表于 2013-6-4 19:10:43 | 只看该作者

zhang7309 发表于 2013-6-4 17:53
顶一个,好东西

谢谢张兄捧场哦,你的小板最近玩的不错吧?
10#

sacq12

发表于 2013-6-4 19:23:36 | 只看该作者

好好学习~~~
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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