📄 timebase.c
字号:
//=====================================================================
// TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
// Property of Texas Instruments -- For Unrestricted Internal Use Only
// Unauthorized reproduction and/or distribution is strictly prohibited
// This product is protected under copyright law and trade secret law as
// an unpublished work.Created 2001,(C) Copyright 2001 Texas Instruments.
// All rights reserved.
//
// This program is the Body of Time base block Library in GSM
//
// Author : Pingyuan ( Jeff) Lei plei@ti.com (858)4046420
//
// =====================================================================
#include "timebase.h"
#include "global_types.h"
#include "mapping.h"
#include "result.h"
/*INC_FRAC_REG*/
// Function : TIMB_SetIncFracReg
// Write in a value to INC_FRAC_REG
void TIMB_SetIncFracReg( UWORD16 value)
{
INC_FRAC_REG = value;
}
// Function : TIMB_ReadIncFracReg
// Read a value from INC_FRAC_REG
UWORD16 TIMB_ReadIncFracReg(void)
{
return (INC_FRAC_REG);
}
/*INC_SIXTEENTH_REG*/
// Function : TIMB_SetIncSixteenthReg
// Write in a value to INC_SIXTEENTH_REG
void TIMB_SetIncSixteenthReg( UWORD16 value)
{
INC_SIXTEENTH_REG=(value & INC_SIXTEENTH_MASK);
}
// Function : TIMB_ReadIncSixteenthReg
// READ a value from INC_SIXTEENTH_REG
UWORD16 TIMB_ReadIncSixteenthReg(void)
{
return (INC_SIXTEENTH_REG & INC_SIXTEENTH_MASK );
}
/*GSM_TIMER_CTRL_REG*/
// Function : TIMB_ReadGsmTimerCtr
// READ a value from GSM_TIMER_CTR for bit 2 and 1 ( Freeze bit and load bit)
UWORD16 TIMB_ReadGsmTimerCtr(void)
{
return( GSM_TIMER_CTRL_REG & GSM_TIMER_CTRL_MASK );
}
/*GSM_TIMER_INIT_REG*/
// Function : TIMB_SetGsmTimerInitReg
// Write in a value to GSM_TIMER_INIT_REG
void TIMB_SetGsmTimerInitReg( UWORD16 value)
{
GSM_TIMER_INIT_REG = value;
}
// Function : TIMB_ReadGsmTimerInitReg
// READ a value from GSM_TIMER_INIT_REG
UWORD16 TIMB_ReadGsmTimerInitReg ( void)
{
return(GSM_TIMER_INIT_REG);
}
/*GSM_TIMER_VALUE_REG*/
// Function : READ_TIMER_VALUE_REG
// READ a value from GSM_TIMER_VALUE_REG
UWORD16 TIMB_ReadGsmTimerValueReg ( void)
{
return(GSM_TIMER_VALUE_REG);
}
/*GSM_TIMER_IT_REG*/
// Function : TIMB_ReadGsmTimerItReg
// READ a value from GSM_TIMER_IT_REG
UWORD16 TIMB_ReadGsmTimerItReg ( void)
{
return (GSM_TIMER_IT_REG & GSM_TIMER_IT_MASK);
}
/*SETUP_FRAME_REG*/
// Function : TIMB_SetSetupFrameReg
// SET a value to SETUP_FRAME_REG
void TIMB_SetSetupFrameReg( UWORD16 value)
{
SETUP_FRAME_REG = ( value & SETUP_FRAME_MASK );
}
// Function : TIMB_ReadSetupFrameReg
// READ a value to SETUP_FRAME_REG
UWORD16 TIMB_ReadSetupFrameReg( void )
{
return ( SETUP_FRAME_REG & SETUP_FRAME_MASK);
}
/*LTCHD_TIME_CTRL_REG*/
// Function : TIMB_ReadLtchdTimeCtrlReg
// SET a value to LTCHD_TIME_CTRL_REG
UWORD16 TIMB_ReadLtchdTimeCtrlReg(void)
{
return ( LTCHD_TIME_CTRL_REG & LTCHD_TIME_CTRL_MASK);
}
/*LTCHD_TIME_VALUE_REG*/
// Function : SET_LTCHD_TIME_VAL_REG
// SET a value to LTCHD_TIME_VAL_REG
void TIMB_SetLtchdTimeValueReg(UWORD16 value)
{
LTCHD_TIME_VALUE_REG = ( value & LTCHD_TIME_VALUE_MASK);
}
// Function : READ_LTCHD_TIME_VAL_REG
// SET a value to LTCHD_TIME_VAL_REG
UWORD16 TIMB_ReadLtchdTimeValueReg(void)
{
return (LTCHD_TIME_VALUE_REG & LTCHD_TIME_VALUE_MASK);
}
//*********Function to test reset value in this GHSM block
UWORD16 TIMB_GsmTimebaseTestReset(void)
{
UWORD16 val;
UWORD16 err=RES_OK;
//INC_FRAC_RESET
val = INC_FRAC_REG;
if ( val != INC_FRAC_RESET )
{
RES_Set(0xAA0); // Index :AA0
RES_Set(val);
err=RES_BAD;
}
//INC_SIXTEENTH_RESET
val = INC_SIXTEENTH_REG & INC_SIXTEENTH_MASK ;
if ( val != INC_SIXTEENTH_RESET )
{
RES_Set(0xAA1); // Index :AA1
RES_Set(val);
err=RES_BAD;
}
//GSM_TIMER_CTRL_RESET
val = GSM_TIMER_CTRL_REG & GSM_TIMER_CTRL_MASK;
if ( val != GSM_TIMER_CTRL_RESET )
{
RES_Set(0xAA2); // Index :AA2
RES_Set(val);
err=RES_BAD;
}
//GSM_TIMER_INIT_RESET
val = GSM_TIMER_INIT_REG;
if ( val != GSM_TIMER_INIT_RESET )
{
RES_Set(0xAA3); // Index :AA3
RES_Set(val);
err=RES_BAD;
}
//GSM_TIMER_VALUE_RESET
val = GSM_TIMER_VALUE_REG;
if ( val != GSM_TIMER_VALUE_RESET )
{
RES_Set(0xAA4); // Index :AA4
RES_Set(val);
err=RES_BAD;
}
//GSM_TIMER_IT_RESET
val = GSM_TIMER_IT_REG & GSM_TIMER_IT_MASK;
if ( val != GSM_TIMER_IT_RESET )
{
RES_Set(0xAA5); // Index :AA5
RES_Set(val);
err=RES_BAD;
}
//SETUP_FRAME_RESET
val = SETUP_FRAME_REG & SETUP_FRAME_MASK;
if ( val != SETUP_FRAME_RESET )
{
RES_Set(0xAA6); // Index :AA6
RES_Set(val);
err=RES_BAD;
}
//LTCHD_TIME_CTRL_RESET
val = LTCHD_TIME_CTRL_REG & LTCHD_TIME_CTRL_MASK;
if ( val != LTCHD_TIME_CTRL_RESET )
{
RES_Set(0xAA7); // Index :AA7
RES_Set(val);
err=RES_BAD;
}
//LTCHD_TIME_VALUE_RESET
val = LTCHD_TIME_VALUE_REG & LTCHD_TIME_VALUE_MASK;
if ( val !=LTCHD_TIME_VALUE_RESET )
{
RES_Set(0xA8); // Index :A8
RES_Set(val);
err=RES_BAD;
}
return (err);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -