OV-Watch/Software/OV_Watch_V2.3.1/Tasks/Src/user_KeyTask.c

55 lines
1.3 KiB
C

/* Private includes -----------------------------------------------------------*/
//includes
#include "user_TasksInit.h"
#include "user_StopEnterTask.h"
#include "user_ScrRenewTask.h"
#include "ui_HomePage.h"
#include "main.h"
#include "key.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/**
* @brief Key press check task
* @param argument: Not used
* @retval None
*/
void KeyTask(void *argument)
{
uint8_t keystr=0;
uint8_t Stopstr=0;
uint8_t IdleBreakstr=0;
while(1)
{
switch(KeyScan(0))
{
case 1:
keystr = 1;
osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1);
osMessageQueuePut(IdleBreak_MessageQueue, &IdleBreakstr, 0, 1);
break;
case 2:
if(ScrRenewStack.Data[ScrRenewStack.Top_Point-1] == (long long int)&ui_HomePage)
{
osMessageQueuePut(Stop_MessageQueue, &Stopstr, 0, 1);
}
else
{
keystr = 2;
osMessageQueuePut(Key_MessageQueue, &keystr, 0, 1);
osMessageQueuePut(IdleBreak_MessageQueue, &IdleBreakstr, 0, 1);
}
break;
}
osDelay(1);
}
}