This commit is contained in:
Qiea
2024-12-19 14:06:05 +08:00
parent 1c0f3b676f
commit dcd484c1bd
58 changed files with 14859 additions and 863 deletions

82
HARDWARE/KEY/key.c Normal file
View File

@@ -0,0 +1,82 @@
#include "key.h"
#include "delay.h"
//-----------------------------------------------------------------
GPIO_TypeDef* BUTTON_PORT[BUTTONn] = {BUTTON_KEY1_GPIO_PORT,BUTTON_KEY2_GPIO_PORT,BUTTON_KEY3_GPIO_PORT,BUTTON_KEY4_GPIO_PORT};
const uint16_t BUTTON_PIN[BUTTONn] = {BUTTON_KEY1_PIN,BUTTON_KEY2_PIN,BUTTON_KEY3_PIN,BUTTON_KEY4_PIN};
//-----------------------------------------------------------------
// void KEY_Init(void)
//-----------------------------------------------------------------
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶˿<CCB6>
// <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>: <20><>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>: <20><>
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>
//
//-----------------------------------------------------------------
void KEY_Init(void)
{
BSP_KEY_Init(BUTTON_KEY1); // KEY1<59><31><EFBFBD><EFBFBD>PD6
BSP_KEY_Init(BUTTON_KEY2); // KEY2<59><32><EFBFBD><EFBFBD>PB4
BSP_KEY_Init(BUTTON_KEY3); // KEY3<59><33><EFBFBD><EFBFBD>PB6
BSP_KEY_Init(BUTTON_KEY4); // KEY4<59><34><EFBFBD><EFBFBD>PB9
}
//-----------------------------------------------------------------
// void BSP_KEY_Init(Button_TypeDef button)
//-----------------------------------------------------------------
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>İ<EFBFBD><C4B0><EFBFBD>
// <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>: button<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>BUTTON_KEY1<59><31>BUTTON_KEY2<59><32>BUTTON_KEY3<59><33>BUTTON_KEY4<59><34>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>: <20><>
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>
//
//-----------------------------------------------------------------
void BSP_KEY_Init(Button_TypeDef button)
{
GPIO_InitTypeDef GPIO_InitStruct;
BUTTONx_GPIO_CLK_ENABLE(button); // <20><><EFBFBD><EFBFBD>KEYʱ<59><CAB1>
GPIO_InitStruct.Pin = BUTTON_PIN[button]; // <20><><EFBFBD><EFBFBD>KEY
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GPIO_InitStruct.Pull = GPIO_PULLUP; // <20><><EFBFBD><EFBFBD>
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; // <20><><EFBFBD><EFBFBD>
HAL_GPIO_Init(BUTTON_PORT[button], &GPIO_InitStruct); // <20><>ʼ<EFBFBD><CABC>KEY
}
//-----------------------------------------------------------------
// u8 KEY_Scan(u8 mode)
//-----------------------------------------------------------------
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>
// <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>: u8 mode<64><65>0<EFBFBD><30>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><31><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>: <20><><EFBFBD><EFBFBD>ֵ
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ȼ<EFBFBD>,KEY1>KEY2>KEY3>KEY4!!
//
//-----------------------------------------------------------------
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1; // <20><><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>־
if(mode==1) // ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
key_up=1;
if(key_up&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0)) // <20>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
delay_ms(10); // <20><>ʱ10ms
key_up=0; // <20><><EFBFBD><EFBFBD><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
if(KEY1==0) // <20><><EFBFBD><EFBFBD>K1<4B><31><EFBFBD><EFBFBD>
return KEY1_PRES;
else if(KEY2==0) // <20><><EFBFBD><EFBFBD>K2<4B><32><EFBFBD><EFBFBD>
return KEY2_PRES;
else if(KEY3==0) // <20><><EFBFBD><EFBFBD>K3<4B><33><EFBFBD><EFBFBD>
return KEY3_PRES;
else if(KEY4==0) // <20><><EFBFBD><EFBFBD>K4<4B><34><EFBFBD><EFBFBD>
return KEY4_PRES;
}
else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==01) // <20>ް<EFBFBD><DEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
key_up=1;
return 0; // <20>ް<EFBFBD><DEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//-----------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------