Files
morse_code_trainer/f103c8t6_keil/MDK-ARM/MYDEIVERS/encode.c
T

56 lines
990 B
C

#include "encode.h"
void GEI_BUTTON_CODE(button *bt)
{
#define t 500 //????(ms)
bt->code=0;
if(HAL_GPIO_ReadPin(bt->GPIOx,bt->GPIO_Pin)==0)
{
if(bt->lock==0)
{
if(HAL_GetTick()<bt->time+t)//??????????
{
bt->times++;
bt->time=HAL_GetTick();
bt->lock=1;
}else
{
bt->times=1; //??????
bt->time=HAL_GetTick();
bt->lock=1;
}
}
if(bt->lock==1)
{
if(HAL_GetTick()>bt->time+t)//??????t ms
{
bt->code=255;
bt->times=255;
} //????
}
}
if(HAL_GPIO_ReadPin(bt->GPIOx,bt->GPIO_Pin)==1)
{
if(bt->lock==1)
{
if(bt->code==255)
{
}else
{
bt->code=bt->times;
}
bt->lock=0;
}
}
}