⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 triton_rtc.h

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 H
📖 第 1 页 / 共 2 页
字号:
-----------------------------------------------------------*/
#define RTC_SETTESTMODE MSI2C_MasterPollingSendAbb(Abb_RTC_CTRL_REG, ( RTC_CTRL_REG_RD | RTC_TEST_MODE ))

/*----------------------------------------------------------
  RTC_ENABLEITALARM : Enable the IT_ALARM  
-----------------------------------------------------------*/
#define RTC_ENABLEITALARM MSI2C_MasterPollingSendAbb(Abb_RTC_INTERRUPTS_REG, ( RTC_INTERRUPTS_REG_RD | RTC_IT_ALARM ))

/*----------------------------------------------------------
  RTC_DISABLEITALARM : Disable the IT_ALARM   
-----------------------------------------------------------*/
#define RTC_DISABLEITALARM MSI2C_MasterPollingSendAbb(Abb_RTC_INTERRUPTS_REG, ( RTC_INTERRUPTS_REG_RD & ~RTC_IT_ALARM ))

/*----------------------------------------------------------
  RTC_TEST_BUSY : Return the RTC state busy  signal
-----------------------------------------------------------*/
#define RTC_TEST_BUSY ( RTC_STATUS_REG_RD & RTC_BUSY ) 

/*----------------------------------------------------------
  RTC_ENABLEITTIMER : Enable the IT_TIMER   
-----------------------------------------------------------*/
#define RTC_ENABLEITTIMER MSI2C_MasterPollingSendAbb(Abb_RTC_INTERRUPTS_REG, ( RTC_INTERRUPTS_REG_RD | RTC_IT_TIMER ))

/*----------------------------------------------------------
  RTC_DISABLEITTIMER : Disable the IT_TIMER   
-----------------------------------------------------------*/
#define RTC_DISABLEITTIMER MSI2C_MasterPollingSendAbb(Abb_RTC_INTERRUPTS_REG, ( RTC_INTERRUPTS_REG_RD & ~RTC_IT_TIMER ))

/*----------------------------------------------------------
  RTC_SETEVENTTIMER : Set the event for the IT_TIMER   
-----------------------------------------------------------*/
#define RTC_SETEVENTTIMER(x) MSI2C_MasterPollingSendAbb(Abb_RTC_INTERRUPTS_REG, ( (RTC_INTERRUPTS_REG_RD & 0xfffc) | (x) ))

/*----------------------------------------------------------
  RTC_GETEVENTTIMER : Get the event status for the IT_TIMER   
-----------------------------------------------------------*/
#define RTC_GETEVENTTIMER ( RTC_STATUS_REG_RD & 0x3c)


/* ============================================================================
* GLOBAL TYPES DEFINITIONS
* =============================================================================
*/
typedef enum 
{
 ERR_RTC_SEC            = 10,
 ERR_RTC_MIN            = 11,
 ERR_RTC_HRS            = 12,
 ERR_RTC_DAY            = 13,
 ERR_RTC_MON            = 14,
 ERR_RTC_YEAR           = 15,
 ERR_RTC_WDAY           = 16,
 ERR_RTC_ALARM_SEC      = 17,
 ERR_RTC_ALARM_MIN      = 18,
 ERR_RTC_ALARM_HRS      = 19,
 ERR_RTC_ALARM_DAY      = 20,
 ERR_RTC_ALARM_MON      = 21,
 ERR_RTC_ALARM_YEAR     = 22,
 ERR_RTC_CTRL_REG       = 23,
 ERR_RTC_INTERRUPTS_REG = 24,
 ERR_RTC_STATUS_REG     = 25,
 ERR_RTC_COMP_MSB_REG   = 26,
 ERR_RTC_COMP_LSB_REG   = 27,
 ERR_RTC_RES_PROG_REG   = 28,
 ERR_RTC_POWER_ON_RESET_REG = 29 
} RTC_Error_t;


/* ============================================================================
* FUNCTIONS PROTOTYPES
* =============================================================================
*/


//----------------------------------------------------
// NAME       : RTC_Busy_Falling_Edge
// DESCRIPTION: Detect a busy falling edge
// RETURN VALUE	: none
// PARAMETERS	: none
// LIMITATIONS	: 
//----------------------------------------------------
void RTC_Busy_Falling_Edge(void);

/*
  Waiting routine : ~2400 clk unit
*/
void RTC_Wait_unit_clk(void);

UWORD8 RTC_conv_bin(const UWORD8 value);
UWORD8 RTC_conv_bcd(const UWORD8 value);
int RTC_Busy(void);
void RTC_Init_Sec(const UWORD8 value);
void RTC_Init_Min(const UWORD8 value);
void RTC_Init_Hrs(const UWORD8 value, const char mode12, const char pm);
void RTC_Init_Day(const UWORD8 value);
void RTC_Init_Mon(const UWORD8 value);
void RTC_Init_Year(const UWORD8 value);
void RTC_Init_Week(const UWORD8 value);	
void RTC_Init_Time(const UWORD8 sec, const UWORD8 min, const UWORD8 hrs, 
                   const char mode12, const char pm );
void RTC_Init_Ddate(UWORD8 day, UWORD8 month, UWORD8 year, UWORD8 week );
void RTC_Init_Date(struct rtc_tm *const rtctime );
UWORD8 RTC_GetSec(void);
UWORD8 RTC_GetMin(void);
UWORD8 RTC_GetHrs(void);
UWORD8 RTC_GetMode(void);
UWORD8 RTC_GetDay(void);
UWORD8 RTC_GetMon(void);
UWORD8 RTC_GetYear(void);
UWORD8 RTC_GetWeek(void);
void RTC_GetDate(struct rtc_tm *rtctime );
void RTC_GetAlarm(struct rtc_tm *rtctime );
int RTC_num_days(struct rtc_tm *time);
unsigned int RTC_num_sec(struct rtc_tm *time);
void RTC_SetAlarm(struct rtc_tm *rtctime );
void RTC_SetMode12_24(const UWORD8 mode);
UWORD8 RTC_GetPMnAM(void);
UWORD8 RTC_GetMode12_24(void);
UWORD8 RTC_GetStatus (void);
void RTC_Rounding_30s(void);
void RTC_Wait_unit_clk (void);


//-----------------------------------------------------------------------------
// NAME 	: RTC_TestRegisters
// DESCRIPTION	: Reset RTC module & test if all register have default value. 
// RETURN VALUE	: Return the result of the test OK or BAD	
// PARAMETERS	: none
// LIMITATIONS	: Update 18 results
//-----------------------------------------------------------------------------
UWORD16 RTC_TestRegisters(void);



void RTC_SECONDS_REG_WR(const UWORD8 value);
void RTC_MINUTES_REG_WR(const UWORD8 value);
void RTC_HOURS_REG_WR(const UWORD8 value);
void RTC_DAYS_REG_WR(const UWORD8 value);
void RTC_MONTHS_REG_WR(const UWORD8 value);
void RTC_YEARS_REG_WR(const UWORD8 value);
void RTC_WEEK_REG_WR(const UWORD8 value);
void RTC_ALARM_SECONDS_REG_WR(const UWORD8 value);
void RTC_ALARM_MINUTES_REG_WR(const UWORD8 value);
void RTC_ALARM_HOURS_REG_WR(const UWORD8 value);
void RTC_ALARM_DAYS_REG_WR(const UWORD8 value);
void RTC_ALARM_MONTHS_REG_WR(const UWORD8 value);
void RTC_ALARM_YEARS_REG_WR(const UWORD8 value);
void RTC_CTRL_REG_WR(const UWORD8 value);
void RTC_STATUS_REG_WR(const UWORD8 value);
void RTC_INTERRUPTS_REG_WR(const UWORD8 value);
void RTC_COMP_LSB_REG_WR(const UWORD8 value);
void RTC_COMP_MSB_REG_WR(const UWORD8 value);
void RTC_RES_PROG_REG_WR(const UWORD8 value);
void RTC_POWER_ON_RESET_REG_WR(const UWORD8 value);



#endif	/* __LIB_NAME_H */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -