/******************************************************************************
�� �� ����API.h
����������API���ƺ���ͷ�ļ�
��    �ߣ�����
��    ����V1.0
��    �ڣ�2016.11.3
******************************************************************************/

#ifndef _API_H_
#define _API_H_

#include "CRG.h"

extern volatile uint16_t APIRollingCounter;
extern          uint8_t  APIBGNMEnable;
extern    uint8_t iTIME1MS;
extern    uint8_t T1MS_SYB_FF;
/******************************************************************************
API�ж�����,��λus
******************************************************************************/
//#define  API_INT_CYCLE                    64
#define  API_INT_CYCLE                    50
#define  API_ROLLING_COUNTER              APIRollingCounter

/******************************************************************************
1���붨ʱ����������
******************************************************************************/
#if (1000 % API_INT_CYCLE)
#define API_MS_CNT_TOP                  (1000 / API_INT_CYCLE + 1)
#else
#define API_MS_CNT_TOP                  (1000 / API_INT_CYCLE)
#endif

/******************************************************************************
1���붨ʱ���ṹ����
******************************************************************************/
typedef struct
{
  uint8_t Cnt;
  uint8_t Flag;
} APImsTimerStruct;

/******************************************************************************
��������
******************************************************************************/
void    API_Start(void);
void    API_Stop(void);
uint8_t API_1ms_Timer_Update(void);

#endif