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

📄 timer_sec.c

📁 是一个手机功能的模拟程序
💻 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 1987, (C) Copyright 1997 Texas Instruments.  All 
   rights reserved.                                                            
                  
                                                           
   Filename         : timer_sec.c

   Description      : timer_sec.c

   Project          : drivers

   Author           : pmonteil@tif.ti.com  Patrice Monteil.

   Version number : 1.3

   Date and time  : 07/23/98 16:25:32
   Previous delta   : 07/23/98 16:25:32

   SCCS file        : /db/gsm_asp/db_ht96/dsp_0/gsw/rel_0/mcu_l1/release1.5/mod/emu/EMU_MCMP/eva3_drivers/source/SCCS/s.timer.c

   Sccs Id  (SID)       : '@(#) timer.c 1.3 07/23/98 16:25:32 '

 
*****************************************************************************/

#include "chipset.cfg"

#if (CHIPSET == 12)

#include "sys_types.h"
#include "mem.h"
#include "iq.h"
#include "timer.h"
#include "timer_sec.h"


/*--------------------------------------------------------------*/
/*  TIMER_Read()                                                */
/*--------------------------------------------------------------*/
/* Parameters : num of the register to be read                  */
/* Return     :value of the timer register read                 */
/* Functionality :  read one of the TIMER Secure register       */
/*--------------------------------------------------------------*/
inline SYS_UWORD16 TIMER_SEC_Read (SYS_UWORD16 regNum) {
   volatile SYS_UWORD16 timerReg;

   switch (regNum) {
   case 0:
      timerReg = (( * (SYS_UWORD16 *) TIMER_SEC_CNTL_REG) & TIMER_CNTL_MASK);
      break;
   case 1:
      timerReg = ( * (SYS_UWORD16 *) TIMER_SEC_READ_REG);
      break;
   case 2:
      timerReg = (( * (SYS_UWORD16 *) TIMER_SEC_MODE_REG) & TIMER_MODE_MASK);
      break;
   default:
       break;
   }
   return(timerReg);
}


inline void TM_SEC_DisableWatchdog (void)
{
   /* volatile variable needed due C to optimization */
   volatile SYS_UWORD16 *reg = (volatile SYS_UWORD16 *) TIMER_SEC_MODE_REG;

   * reg = 0xf5;        
   * reg = 0xa0;
}


/*
 * TM_SEC_EnableWatchdog
 * 
 */
void TM_SEC_EnableWatchdog(void)
{
    * ((volatile SYS_UWORD16 *) TIMER_SEC_MODE_REG) = TIMER_WDOG;
}

/*
 * TM_SEC_ResetWatchdog
 * 
 * Parameter : Tick count 
 * Use a different value each time, otherwise watchdog bites 
 */
void TM_SEC_ResetWatchdog(SYS_UWORD16 count)
{
  * ((volatile SYS_UWORD16 *) TIMER_SEC_LOAD_REG) = count;
}


/*--------------------------------------------------------------*/
/*  TIMER_SEC_ReadValue()                                       */
/*--------------------------------------------------------------*/
/* Parameters : none                                            */
/* Return     : none                                            */
/* Functionality :  Read timer value                            */
/*--------------------------------------------------------------*/

inline SYS_UWORD16 TIMER_SEC_ReadValue (void)
{
 return(* (SYS_UWORD16 *) TIMER_SEC_READ_REG);
 
}

/*--------------------------------------------------------------*/
/*  TIMER_SEC_WriteValue()                                      */
/*--------------------------------------------------------------*/
/* Parameters : none                                            */
/* Return     : none                                            */
/* Functionality :  Write timer value                           */
/*--------------------------------------------------------------*/

inline SYS_UWORD16 TIMER_SEC_WriteValue (SYS_UWORD16 value)
{
  * (SYS_UWORD16 *) TIMER_SEC_LOAD_REG = value; /*load the value */
 
}

#endif /* CHIPSET == 12 */

⌨️ 快捷键说明

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