📄 mssensor.c
字号:
///////////////////////////////////////////////////////////////////////////////
///@file msKeypad.c
///@brief Keypad Module
///@author MStarSemi Inc.
///////////////////////////////////////////////////////////////////////////////
#include "board.h"
#define _MSSENSOR_C_
#include "hwreg.h"
#include "mreg51.h"
#include "msIR.h"
#include "msKeypad.h"
#include "msAPI_Timer.h"
#include "drvGlobal.h"
#include "msSensor.h"
#include "drvSAR.h"
#define SENSOR_STABLE_COUNT 10
#define SENSOR_STABLE_NUM_MIN 6
static BYTE Sense0Val = 0xFF;
static BYTE Sense1Val = 0xFF;
static BYTE Sense2Val = 0xFF;
void msSensor_Init(void)
{
printf("\r\n *** Sensor SAR Inited ***");
}
BOOLEAN msSensor_CH_GetKey(U8 Channel, WORD *ADCValue)
{
BYTE i, j = 0;
for (i = 0; i < SENSOR_STABLE_COUNT; i++)
{
if (drvSAR_Get_ADC_Channel(Channel, ADCValue) == 0)
{
j++;
if (j >= SENSOR_STABLE_NUM_MIN)
return TRUE;
}
}
return FALSE;
}
/******************************************************************************/
void msSensor_GetStatus(void)
{
BYTE Channel;
WORD ADCValue = 0x3FF;
for (Channel = SENSOR_ADC_CHANNEL_0; Channel < SENSOR_ADC_CHANNEL_NUM; Channel++)
{
if (msSensor_CH_GetKey(Channel, &ADCValue))
{
if (Channel == SENSOR_ADC_CHANNEL_0)
Sense0Val = ADCValue;
else if (Channel == SENSOR_ADC_CHANNEL_1)
Sense1Val = ADCValue;
else if (Channel == SENSOR_ADC_CHANNEL_2)
Sense2Val = ADCValue;
}
}
}
#undef _MSSENSOR_C_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -