12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #include "stm32f10x.h"
- #include "key.h"
- #include "sys.h"
- #include "board.h"
-
- //按键初始化函数
- void key_init(void) //IO初始化
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_KEY1;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
- GPIO_Init(BOARD_PORT_KEY1, &GPIO_InitStructure);//初始化
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_KEY2;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
- GPIO_Init(BOARD_PORT_KEY2, &GPIO_InitStructure);//初始化
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_KEY3;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
- GPIO_Init(BOARD_PORT_KEY3, &GPIO_InitStructure);//初始化
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_KEY4;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
- GPIO_Init(BOARD_PORT_KEY4, &GPIO_InitStructure);//初始化
- GPIO_InitStructure.GPIO_Pin = BOARD_PIN_KEY5;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
- GPIO_Init(BOARD_PORT_KEY5, &GPIO_InitStructure);//初始化
- }
- key_value_te keyScan(void)
- {
- key_value_te keyReturn = KEY_VALUE_NULL;
- if (GPIO_ReadInputDataBit(BOARD_PORT_KEY1, BOARD_PIN_KEY1) == 0)
- {
- keyReturn = KEY_VALUE_KEY1;
- }
- else if (GPIO_ReadInputDataBit(BOARD_PORT_KEY2, BOARD_PIN_KEY2) == 0)
- {
- keyReturn = KEY_VALUE_KEY2;
- }
- else if (GPIO_ReadInputDataBit(BOARD_PORT_KEY3, BOARD_PIN_KEY3) == 0)
- {
- keyReturn = KEY_VALUE_KEY3;
- }
- else if (GPIO_ReadInputDataBit(BOARD_PORT_KEY4, BOARD_PIN_KEY4) == 0)
- {
- keyReturn = KEY_VALUE_KEY4;
- }
- else if (GPIO_ReadInputDataBit(BOARD_PORT_KEY5, BOARD_PIN_KEY5) == 0)
- {
- keyReturn = KEY_VALUE_KEY5;
- }
-
- return keyReturn;// 无按键按下
- }
|