/**
* @file HW_TIMER_ATY.h
*
* @param Project DEVICE_GENERAL_ATY_LIB
*
* @author ATY
*
* @copyright
* - Copyright 2017 - 2023 MZ-ATY
* - This code follows:
* - MZ-ATY Various Contents Joint Statement -
*
* https://mengze.top/MZ-ATY_VCJS
* - CC 4.0 BY-NC-SA -
*
* https://creativecommons.org/licenses/by-nc-sa/4.0/
* - Your use will be deemed to have accepted the terms of this statement.
*
* @brief Familiar functions of I2C with IO simulation for all embedded device
*
* @version
* - 1_01_220608 > ATY
* -# Preliminary version, first Release
********************************************************************************
*/
#ifndef __HW_TIMER_ATY_H
#define __HW_TIMER_ATY_H
#include "INCLUDE_ATY.h"
/******************************* For user *************************************/
#ifdef __STC51_ATY
void TimerLoopInit(void);
#endif /* __STC51_ATY */
/******************************************************************************/
void Delay1Us(void);
void DelayUs(uint32_t us);
void DelayMs(uint32_t ms);
void DelaySec(uint32_t sec);
typedef struct _timeBaseCounter_ATY
{
uint32_t msN;
uint32_t ms10;
uint32_t ms100;
uint32_t s1;
uint32_t s2;
uint32_t s10;
uint8_t ms1_f;
uint8_t ms10_f;
uint8_t ms100_f;
uint8_t s1_f;
uint8_t s2_f;
uint8_t s10_f;
} timeBaseCounter;
extern struct _timeBaseCounter_ATY timeCounterUnit_ATY;
void UserTimerLoop_Cycle1ms(void);
void UserTimerLoopProcess(void);
void TimerLoopProcess_User(void);
#endif /* __HW_TIMER_ATY_H */
/******************************** End Of File *********************************/