您现在的位置: 主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 神舟IV学习笔记(二)按键检测 -
本文所属标签:
为本文创立个标签吧:

神舟IV学习笔记(二)按键检测 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]STM32的IO口能够由软件配置成8种模式,如图所示。好出在于在硬件设计的时候,可以方便I/0的选择,从而走线上带来方便。模拟输入输入模式浮空输入输入下拉输入上拉输出模式开漏输出推挽输出复用开漏输出复用推挽输出我

STM32的IO口能够由软件配置成8种模式,如图所示。好出在于在硬件设计的时候,可以方便I/0的选择,从而走线上带来方便。

本文引用地址: http://www.21ic.com/app/mcu/201807/781883.htm

模拟输入

输入模式浮空输入

输入下拉

输入上拉

输出模式开漏输出

推挽输出

复用开漏输出

复用推挽输出

我们今天使用的按键端口,配置为上拉输出,这样的话,按键未按下时值为1,当按键按下时值为0。LED使用的I/O配置为推挽输出模式,用于指示按键的状态。我们专门把按键模块写成子文件,方便下次功能的移植。程序只是简单的叙述了数字输入的检测功能,实际应用中按键还应加延时消抖处理。程序采用轮询查询的方法,实际上使用中断的方法,更加有效。

KEY.C代码:

#include "key.h"

void KEY_Configuration(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);

GPIO_InitStructure.GPIO_Pin =KEY1 | KEY3;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_Init(GPIOC, &GPIO_InitStructure);

//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//可以省略,下面都是按照上面相同的配置

//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_InitStructure.GPIO_Pin =KEY2;

GPIO_Init(GPIOB, &GPIO_InitStructure);

//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

GPIO_InitStructure.GPIO_Pin =KEY4;

GPIO_Init(GPIOA, &GPIO_InitStructure);

}

KEY.H代码

#ifndef __KEY_H

#define __KEY_H

#include "stm32f10x_conf.h"

#define KEY1 GPIO_Pin_4

#define KEY2 GPIO_Pin_10

#define KEY3 GPIO_Pin_13

#define KEY4 GPIO_Pin_0

#define Read_key1() ((GPIOC->IDR & KEY1)?0:1)//按下时才为0

#define Read_key2() ((GPIOB->IDR & KEY2)?0:1)

#define Read_key3() ((GPIOC->IDR & KEY3)?0:1)

#define Read_key4() ((GPIOA->IDR & KEY4)?0:1)

//#define Read_key1() !GPIO_ReadInputDataBit(GPIOC, KEY1)

//#define Read_key2() !GPIO_ReadInputDataBit(GPIOB, KEY2)

//#define Read_key3() !GPIO_ReadInputDataBit(GPIOC, KEY3)

//#define Read_key4() !GPIO_ReadInputDataBit(GPIOA, KEY4)

void KEY_Configuration(void);

#endif




              查看评论 回复



嵌入式交流网主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 神舟IV学习笔记(二)按键检测 -
 

"神舟IV学习笔记(二)按键检测 -"的相关文章

网站地图

围观()