[应用相关] [stm32] 按键

[复制链接]
412|11
 楼主| deadtime 发表于 2020-1-1 16:48 | 显示全部楼层 |阅读模式
  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. int main()
  10. {
  11.   RCC_Configuration();                   //系统时钟配置|使能GPIO口
  12.   GPIO_Config();                            //LED控制配置
  13.   while (1)
  14.   {
  15.       if(!GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2))
  16.     {
  17.          Delay(0x000FF);//延时防抖
  18.         if(!GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2))
  19.         {
  20.             GPIO_WriteBit(GPIOA,GPIO_Pin_8,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_8)));
  21.         }
  22.     }
  23.   }
  24. }
  25. /****************************************************************************
  26. * 名    称:void GPIO_Config(void)
  27. * 功    能:GPIO初始化函数
  28. * 入口参数:无
  29. * 出口参数:无
  30. * 说    明:
  31. * 调用方法:无
  32. ****************************************************************************/
  33. void GPIO_Config(void)
  34. {
  35.   GPIO_InitTypeDef GPIO_InitStructure;
  36.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;    //配置LEDA8                  
  37.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
  38.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        
  39.   GPIO_Init(GPIOA, &GPIO_InitStructure);
  40.   
  41.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;    //配置按键PE2         
  42.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入
  43.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        
  44.   GPIO_Init(GPIOE, &GPIO_InitStructure);
  45. }
  46. /****************************************************************************
  47. * 名    称:void RCC_Configuration(void)
  48. * 功    能:系统时钟配置为72MHZ|使能GPIO口
  49. * 入口参数:无
  50. * 出口参数:无
  51. * 说    明:
  52. * 调用方法:无
  53. ****************************************************************************/
  54. void RCC_Configuration(void)
  55. {   
  56.   SystemInit();
  57.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOE, ENABLE);//使能GPIO口
  58. }
  59. /****************************************************************************
  60. * 名    称:void Delay(__IO uint32_t nCount)
  61. * 功    能:延时函数
  62. * 入口参数:无
  63. * 出口参数:无
  64. * 说    明:
  65. * 调用方法:无
  66. ****************************************************************************/
  67. void Delay(__IO uint32_t nCount)
  68. {
  69.    for(; nCount != 0; nCount--);
  70. }


mmuuss586 发表于 2020-1-16 10:03 | 显示全部楼层
感谢分享
磨砂 发表于 2020-2-3 10:43 | 显示全部楼层
非常感谢楼主分享
晓伍 发表于 2020-2-3 10:49 | 显示全部楼层
非常感谢楼主分享
八层楼 发表于 2020-2-3 10:53 | 显示全部楼层
非常感谢楼主分享
观海 发表于 2020-2-3 10:58 | 显示全部楼层
非常感谢楼主分享
guanjiaer 发表于 2020-2-3 11:03 | 显示全部楼层
非常感谢楼主分享
heimaojingzhang 发表于 2020-2-3 11:06 | 显示全部楼层
非常感谢楼主分享
keaibukelian 发表于 2020-2-3 11:12 | 显示全部楼层
非常感谢楼主分享
labasi 发表于 2020-2-3 11:16 | 显示全部楼层
非常感谢楼主分享
paotangsan 发表于 2020-2-3 11:22 | 显示全部楼层
非常感谢楼主分享
renzheshengui 发表于 2020-2-3 11:27 | 显示全部楼层
非常感谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

470

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部