基于Wolf32F031 自由评估板的KEY scan(查询方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)

来源:互联网 发布:sql union什么意思 编辑:程序博客网 时间:2024/06/07 11:01

●共分为五部分:
(一)相关知识
(二)硬件原理
(三)软件API
(四)调用方法
(五)实验现象

 

●相关知识:

1.按键驱动分为两种:查询方式和中断方式

2.查询方式:MCU定时读取按键GPIO的状态,判断是否有按键按下

3.中断方式:MCU初始化完毕后,不再读取按键状态,当按键按下时,产生中断,由此判断按键按下

 

●硬件准备:

1.Wolf32F031 自由 评估板

2.电源适配器

3.JLink/ULink/STLink(本文以STLink为例)

4.USB转串口(RS232)

 

●硬件原理框图:

111111.png

 

●硬件原理图:

22222222.png

●软件资源准备:

KEY scan poll工程文件:wolf32f031_key_scan_poll.uvproj

 

●软件API介绍:

key_down[BUTTONn];

//the pushed down key's flag will be TRUE

key_up[BUTTONn];

//the pushed up key's flag will be TRUE

/* key driver module public function */

void board_key_init(void); 

void board_key_start_scan(void); 

void board_key_stop_scan(void); 

 

BUTTONn取值:

BUTTON_USER1, BUTTON_USER2, BUTTON_USER3

 

●调用方法:

初始化KEY端口,KEY扫描在初始化以后才有效

board_key_init(); 

启动定时器,开始定时扫描键值

board_key_start_scan(); 

停用定时器,停止扫描键值

board_key_stop_scan();

判断按键是否按下

 if(key_down[BUTTON_USER1])    {

  /*user code do something*/

  key_down[BUTTON_USER1] = FALSE;   

  //按键按下标示需要手动清除

}

 

●实验现象

3.1硬件连接实物

333333333.jpg

3.2编译代码并下载

打开code\1.basic\KEY_scan\Project\wolf32f031_key_scan_poll

.uvproj,编译并下载工程。

3.3下载完成后,按USER1-3用户按键,观察LED现象

按下USER1,LED1被点亮

按下USER2,LED2被点亮

按下USER3,LED3被点亮

 

依梦科技,或许可以帮到你

0 0
原创粉丝点击