一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

stm32单片机按键控制的用法解析

来源:电子发烧友 发布时间:2018-12-21

摘要: stm32单片机按键控制的用法解析

1 /*

2 ::按键控制

3 PA8接LED,PE2接按键

4 */

5 #include“stm32f10x.h”

6 void RCC_Configuration(void);

7 void GPIO_Config(void);

8 void Delay(__IO uint32_t nCount);

stm32单片机按键控制的用法解析

9

10 int main()

11 {

12 RCC_ConfiguraTIon(); //系统时钟配置|使能GPIO口

13 GPIO_Config(); //LED控制配置

14 while (1)

15 {

16 if(!GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2))

17 {

18 Delay(0x000FF);//延时防抖

19 if(!GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2))

20 {

21 GPIO_WriteBit(GPIOA,GPIO_Pin_8,(BitAcTIon)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_8)));

22 }

23 }

24 }

25 }

26 /****************************************************************************

27 * 名 称:void GPIO_Config(void)

28 * 功 能:GPIO初始化函数

29 * 入口参数:无

30 * 出口参数:无

31 * 说 明:

32 * 调用方法:无

33 ****************************************************************************/

34 void GPIO_Config(void)

35 {

36 GPIO_InitTypeDef GPIO_InitStructure;

37 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //配置LEDA8

38 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出

39 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

40 GPIO_Init(GPIOA, &GPIO_InitStructure);

41

42 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //配置按键PE2

43 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入

44 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

45 GPIO_Init(GPIOE, &GPIO_InitStructure);

46 }

47 /****************************************************************************

48 * 名 称:void RCC_ConfiguraTIon(void)

49 * 功 能:系统时钟配置为72MHZ|使能GPIO口

50 * 入口参数:无

51 * 出口参数:无

52 * 说 明:

53 * 调用方法:无

54 ****************************************************************************/

55 void RCC_ConfiguraTIon(void)

56 {

57 SystemInit();

58 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOE, ENABLE);//使能GPIO口

59 }

60 /****************************************************************************

61 * 名 称:void Delay(__IO uint32_t nCount)

62 * 功 能:延时函数

63 * 入口参数:无

64 * 出口参数:无

65 * 说 明:

66 * 调用方法:无

67 ****************************************************************************/

68 void Delay(__IO uint32_t nCount)

69 {

70 for(; nCount != 0; nCount--);

71 }

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: