今天研究了一天按键检测,终于弄出来了,分享一下学习历程,菜鸟编写,愿与大家共同讨论不足之处
说明:
程序使用的是普中 PZ6806L 开发板,本人也是菜鸟一个,刚学 STM32 没多久,本人愿将学习经验与大家分享,程序多有不足之处,敬请谅解!
程序中的 LED0 就是硬件上的 LED1
经验总结:1、定义函数的时候要写参数类型,就算没有参数,也要写 void,如果不写的话在头文件声明函数的时候会警告。2、按键检测时,如果引脚外部有上拉电阻时,如 KEY_UP,
则引脚要配置成下拉输入模式(下拉电阻好像是 40K) ,检测按下为高电平;如果直接接地,如 K1、K2、K3,则要配置成上拉输入模式,检测按下为低电平,具体原因可以查看芯片内
部电路框图
硬件连接图:
单片机源程序如下:
- /********************************************************************************
- * file : main.c
- * author : GongWang
- * version : V1.0
- * date : 2017-11-12
- * Description : 用按键 KEY_UP控制 LED0,按一次对应的 LED亮或灭
- ********************************************************************************/
- #include "stm32f10x.h"
- #include "led.h"
- #include "key.h"
- /*****************************************************************************
- * Function Name : main
- * Input : None
- * Output : None
- * Return : None
- * Description : 主函数
- ********************************************************************************/
- int main(void)
- {
- /*LED的引脚配置*/
- Led_Config();
- /*LED的初始化,高电平关*/
- Led_Iint();
- /*按键 KEY_UP 引脚配置*/
- Key_Config();
- while( 1 )
- {
- if(Key_Test() == true)
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
基于STM32固件库KEY检测.pdf
(193.7 KB, 下载次数: 13)
|