70 lines
1.7 KiB
C
70 lines
1.7 KiB
C
|
/**
|
|||
|
******************************************************************
|
|||
|
* @file bsp_key.c
|
|||
|
* @author fire
|
|||
|
* @version V1.0
|
|||
|
* @date 2015-xx-xx
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>bsp<EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>
|
|||
|
******************************************************************
|
|||
|
* @attention
|
|||
|
*
|
|||
|
* ʵ<EFBFBD><EFBFBD>ƽ̨:Ұ<EFBFBD><EFBFBD> STM32H750 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD><EFBFBD>̳ :http://www.firebbs.cn
|
|||
|
* <EFBFBD>Ա<EFBFBD> :http://firestm32.taobao.com
|
|||
|
*
|
|||
|
******************************************************************
|
|||
|
*/
|
|||
|
#include "./key/bsp_key.h"
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>I/O<EFBFBD><EFBFBD>
|
|||
|
* @param <EFBFBD><EFBFBD>
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void Key_GPIO_Config(void)
|
|||
|
{
|
|||
|
|
|||
|
GPIO_InitTypeDef GPIO_InitStructure;
|
|||
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GPIO<49>ڵ<EFBFBD>ʱ<EFBFBD><CAB1>*/
|
|||
|
KEY1_GPIO_CLK_ENABLE();
|
|||
|
KEY2_GPIO_CLK_ENABLE();
|
|||
|
/*ѡ<><EFBFBD><F1B0B4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
GPIO_InitStructure.Pin = KEY1_PIN;
|
|||
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ģʽ*/
|
|||
|
GPIO_InitStructure.Mode = GPIO_MODE_INPUT;
|
|||
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
GPIO_InitStructure.Pull = GPIO_NOPULL;
|
|||
|
/*ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
HAL_GPIO_Init(KEY1_GPIO_PORT, &GPIO_InitStructure);
|
|||
|
/*ѡ<><EFBFBD><F1B0B4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
GPIO_InitStructure.Pin = KEY2_PIN;
|
|||
|
/*ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
HAL_GPIO_Init(KEY2_GPIO_PORT, &GPIO_InitStructure);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>а<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ˿ںͶ˿<EFBFBD>λ
|
|||
|
* @arg GPIOx: x<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>A...G<EFBFBD><EFBFBD>
|
|||
|
* @arg GPIO_PIN <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GPIO_PIN_x<EFBFBD><EFBFBD>x<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1...16<EFBFBD><EFBFBD>
|
|||
|
* @retval <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
* @arg KEY_ON:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @arg KEY_OFF:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
|
|||
|
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
|
|||
|
|
|||
|
{
|
|||
|
|
|||
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
if(HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == KEY_ON )
|
|||
|
{
|
|||
|
/*<2A>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD> */
|
|||
|
while(HAL_GPIO_ReadPin(GPIOx,GPIO_Pin) == KEY_ON);
|
|||
|
return KEY_ON;
|
|||
|
}
|
|||
|
else
|
|||
|
return KEY_OFF;
|
|||
|
}
|
|||
|
/****************************END OF FILE**************************/
|