/** * @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 * - 1_02_240410 > ATY * -# add multy addr and channel * -# add lock ******************************************************************************** */ #ifndef __HW_TIMER_ATY_H #define __HW_TIMER_ATY_H #include "INCLUDE_ATY.h" /******************************* For user *************************************/ /******************************************************************************/ struct HW_TIMER_ATY_Dev { 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; uint8_t timerInitFlag; void (*timerInit)(); /** * @brief timer cycle process in user define self */ void (*timerLoopProcess_User)(); uint8_t lock; uint8_t debugEnable; void (*LOG)(const char*, ...); }; void UserTimerLoop_Cycle1ms(struct HW_TIMER_ATY_Dev* dev); void UserTimerLoopProcess(struct HW_TIMER_ATY_Dev* dev); #endif /* __HW_TIMER_ATY_H */ /******************************** End Of File *********************************/