您的位置 首页 编程

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

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);

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);

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 }

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/346272.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部