📄 tau.c
字号:
/*
*******************************************************************************
**
** This device driver was created by Applilet2 for 78K0R/Kx3
** 16-Bit Single-Chip Microcontrollers
**
** Copyright(C) NEC Electronics Corporation 2002 - 2008
** All rights reserved by NEC Electronics Corporation.
**
** This program should be used on your own responsibility.
** NEC Electronics Corporation assumes no responsibility for any losses
** incurred by customers or third parties arising from the use of this file.
**
** Filename : TAU.c
** Abstract : This file implements device driver for TAU module.
** APIlib : Applilet2 for 78K0R/Kx3 V2.10 [31 Jan. 2007]
**
** Device : uPD78F1166_A0
**
** Compiler : CC78K0R
**
** Creation date: 2008-7-16
**
*******************************************************************************
*/
/*
*******************************************************************************
** Include files
*******************************************************************************
*/
#include "macrodriver.h"
#include "user_define.h"
#include "TAU.h"
/* Start user code for include definition. Do not edit comment generated here */
/* End user code for include definition. Do not edit comment generated here */
/*
*******************************************************************************
** Global define
*******************************************************************************
*/
/* Start user code for global definition. Do not edit comment generated here */
/* End user code for global definition. Do not edit comment generated here */
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** This function initiate TAU.
**
** Parameters:
** None
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void TAU_Init()
{
TAU0EN = 1; /* supplies input clock */
TPS0 = TAU_CK00_FCLK_0 | TAU_CK01_FCLK_7;
/* Stop all channels */
TT0 = TAU_CH0_STOP_TRG_ON | TAU_CH1_STOP_TRG_ON | TAU_CH2_STOP_TRG_ON | TAU_CH3_STOP_TRG_ON | TAU_CH4_STOP_TRG_ON | TAU_CH5_STOP_TRG_ON | TAU_CH6_STOP_TRG_ON | TAU_CH7_STOP_TRG_ON;
/* Mask channel 0 interrupt */
TMMK00 = 1; /* INTTM00 disabled */
TMIF00 = 0; /* INTTM00 interrupt flag clear */
/* Set INTTM00 low priority */
TMPR000 = 1;
TMPR100 = 1;
/* Channel 0 used as interval timer */
TMR00 = TAU_TMR0_INITIALVALUE | TAU_CLOCK_SELECT_CK01 | TAU_CLOCK_MODE_CKS | TAU_MODE_INTERVAL_TIMER | TAU_START_INT_USED;
TDR00 = TAU_TDR00_VALUE;
TOM0 &= ~TAU_CH0_OUTPUT_COMBIN;
TOL0 &= ~TAU_CH0_OUTPUT_LEVEL_L;
TOE0 &= ~TAU_CH0_OUTPUT_ENABLE;
}
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** This function start TAU channel 0 counter.
**
** Parameters:
** None
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void TAU_Channel0_Start()
{
TMMK00 = 0; /* INTTM00 enabled */
TS0 |= TAU_CH0_START_TRG_ON;
}
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** This function stop TAU channel 0 counter.
**
** Parameters:
** None
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void TAU_Channel0_Stop( void )
{
TT0 |= TAU_CH0_STOP_TRG_ON;
/* Mask channel 0 interrupt */
TMMK00 = 1; /* INTTM00 disabled */
TMIF00 = 0; /* INTTM00 interrupt flag clear */
}
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** This function change TAU channel 0 register value.
**
** Parameters:
** regvalue: value for data register
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void TAU_Channel0_ChangeCondition( USHORT regvalue )
{
TDR00 = regvalue;
}
/* Start adding user code. Do not edit comment generated here */
/* End user code adding. Do not edit comment generated here */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -