pokediamond/arm9/lib/include/OS_timer.h
2020-06-13 18:00:14 +01:00

33 lines
769 B
C

#ifndef POKEDIAMOND_OS_TIMER_H
#define POKEDIAMOND_OS_TIMER_H
#include "consts.h"
typedef enum
{
OS_TIMER_PRESCALER_1 = (0UL << REG_OS_TM0CNT_H_PS_SHIFT),
OS_TIMER_PRESCALER_64 = (1UL << REG_OS_TM0CNT_H_PS_SHIFT),
OS_TIMER_PRESCALER_256 = (2UL << REG_OS_TM0CNT_H_PS_SHIFT),
OS_TIMER_PRESCALER_1024 = (3UL << REG_OS_TM0CNT_H_PS_SHIFT)
} OSTimerPrescaler;
typedef enum
{
OS_TIMER_0 = 0,
OS_TIMER_1 = 1,
OS_TIMER_2 = 2,
OS_TIMER_3 = 3
} OSTimer;
static inline void OS_SetTimerCount(OSTimer id, u16 count)
{
*((REGType16 *)((u32)&reg_OS_TM0CNT_L + id * 4)) = count;
}
static inline void OS_SetTimerControl(OSTimer id, u16 control)
{
*((REGType16 *)((u32)&reg_OS_TM0CNT_H + id * 4)) = control;
}
#endif //POKEDIAMOND_OS_TIMER_H