基于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)
●硬件原理框图:
●硬件原理图:
●软件资源准备:
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硬件连接实物
3.2编译代码并下载
打开code\1.basic\KEY_scan\Project\wolf32f031_key_scan_poll
.uvproj,编译并下载工程。
3.3下载完成后,按USER1-3用户按键,观察LED现象
按下USER1,LED1被点亮
按下USER2,LED2被点亮
按下USER3,LED3被点亮
依梦科技,或许可以帮到你
- 基于Wolf32F031 自由评估板的KEY scan(查询方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的LED Control实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的ADC实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的RTC实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的IIC EEPROM实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的Accelerometer(MMA7455)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的Buzzer(PWM控制方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的Buzzer(PWM控制方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的UART Txpoll RX interrupt实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 基于Wolf32F031 自由评估板的LCD display(SPI接口)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- GPIO-KEY的实现原理及使用方法
- TI CC2530基础实验(定时器1查询方式——自由运行模式)
- 查询硬件与系统配置的API函数(C++)
- 自己实现基于key-value的NoSQL数据库(二)—— 改进存储方式和查询修改函数
- CRC的校验原理及硬件、软件算法实现
- P2P穿透软件原理及开放的软件应用使用方法
- 嵌入式学习的误区及建议(软件硬件)
- 嵌入式学习的误区及建议(软件硬件)
- 解决RecyclerView中使用UIL加载网络图片,在刷新时出现闪烁问题
- dedecms标签
- HDOJ 5311-Hidden String【深搜】
- float和decimal的区别
- 在U盘上安装ChromiumOS
- 基于Wolf32F031 自由评估板的KEY scan(查询方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- 把彩色图像变成灰度图像
- 为何1M的网络下载速度只有120k/s
- 深搜与广搜
- hdoj--1034--Hidden String(dfs)
- 基于Wolf32F031 自由评估板的Buzzer(PWM控制方式)实验硬件原理及软件API使用方法(适用于STM32F030/031)
- hadoop学习008
- jQuery的ajax链式编程方法
- 为什么要用补码