key.c

来自「诺基亚5110 LCD资料」· C语言 代码 · 共 52 行

C
52
字号
#include "stm32f10x_lib.h"

void Key_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC,ENABLE);

  GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

}


unsigned char Key_up(void)
{
   return (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8));
}

unsigned char Key_down(void)
{
   return (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13));
}

unsigned char Key_mode(void)
{
   return (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0));
}

/*****************************************
              按键扫描
******************************************/
unsigned char scakey(void)
{
   if(Key_up()==0) return 1;
   if(Key_down()==0) return 2;
   if(Key_mode()==1) return 3;
   return 0;

}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?