📄 ma_tmr.c
字号:
T1MR0 = MA_T1MR0_TIMER;
T1MR1 = MA_T1MR1_TIMER;
T1MR2 = MA_T1MR2_TIMER;
T1MR3 = MA_T1MR3_TIMER;
T1EMR = ( T1EMR & ~MA_T1EMR_TIMER_MASK ) | MA_T1EMR_TIMER;
/*--- Handle user code on function exit ---*/
EXIT_MA_RESET_TIMER;
} /* MA_Reset_TIMER */
S8 MA_Start_TIMER( U8 Channel, U8 Reset )
/*
**---------------------------------------------------------------------------
**
** Abstract:
** Starts the selected timer channel. Optionally, the timer counter
** can be cleared before the timer is started.
**
** Parameters:
** Channel The timer channel to start (0-1)
** Reset 0 = Do not reset timer before start
** 1 = Reset timer value before start
**
** Returns:
** MA_ERROR If illegal channel number was given
** MA_OK Otherwise
**
**---------------------------------------------------------------------------
*/
{
/*--- Handle user code on function entry ---*/
ENTER_MA_START_TIMER;
/*--- Handle correct channel ---*/
switch( Channel )
{
case 0:
{
/*--- Reset timer first? ---*/
if( Reset )
{
T0TCR_bit.CR = 1; /* Reset */
T0TCR_bit.CR = 0; /* Release Reset */
}
/*--- Start channel 0 ---*/
T0TCR_bit.CE = 1;
break;
}
case 1:
{
/*--- Reset timer first? ---*/
if( Reset )
{
T1TCR_bit.CR = 1; /* Reset */
T1TCR_bit.CR = 0; /* Release Reset */
}
/*--- Start channel 1 ---*/
T1TCR_bit.CE = 1;
break;
}
default:
{
/*--- Handle user code on function exit ---*/
EXIT_MA_START_TIMER;
/*--- Illegal channel ---*/
return MA_ERROR;
}
}
/*--- Handle user code on function exit ---*/
EXIT_MA_START_TIMER;
return MA_OK;
} /* MA_Start_TIMER */
S8 MA_Stop_TIMER( U8 Channel )
/*
**---------------------------------------------------------------------------
**
** Abstract:
** Stops the selected timer channel.
**
** Parameters:
** Channel The timer channel to stop (0-1)
**
** Returns:
** MA_ERROR If illegal channel number was given
** MA_OK Otherwise
**
**---------------------------------------------------------------------------
*/
{
/*--- Handle user code on function entry ---*/
ENTER_MA_STOP_TIMER;
/*--- Handle correct channel ---*/
switch( Channel )
{
case 0:
{
/*--- Stop channel 0 ---*/
T0TCR_bit.CE = 0;
break;
}
case 1:
{
/*--- Stop channel 1 ---*/
T1TCR_bit.CE = 0;
break;
}
default:
{
/*--- Handle user code on function exit ---*/
EXIT_MA_STOP_TIMER;
/*--- Illegal channel ---*/
return MA_ERROR;
}
}
/*--- Handle user code on function exit ---*/
EXIT_MA_STOP_TIMER;
return MA_OK;
} /* MA_Stop_TIMER */
U32 MA_Read_TIMER( U8 Channel )
/*
**---------------------------------------------------------------------------
**
** Abstract:
** Read the selected timer channel.
**
** Parameters:
** Channel The timer channel to read (0-1)
**
** Returns:
** U32 Timer counter value.
**
**---------------------------------------------------------------------------
*/
{
U32 Count_Temp = 0;
/*--- Handle user code on function entry ---*/
ENTER_MA_READ_TIMER;
/*--- Handle correct channel ---*/
switch( Channel )
{
case 0:
{
Count_Temp = T0TC;
break;
}
case 1:
{
Count_Temp = T1TC;
break;
}
default:
{
/*--- Illegal channel ---*/
;
}
}
/*--- Handle user code on function exit ---*/
EXIT_MA_READ_TIMER;
return Count_Temp;
} /* MA_Read_TIMER */
void MA_IntHandler_TIMER1( void )
/*
**---------------------------------------------------------------------------
**
** Abstract:
** This function is the high level language interrupt handler for the
** timer 1 interrupts.
**
** Parameters:
** None
**
** Returns:
** None
**
**---------------------------------------------------------------------------
*/
{
U32 IntSrc;
/*--- Handle user code on function entry ---*/
ENTER_MA_INTHANDLER_TIMER1;
IntSrc = T1IR;
if ( IntSrc & T1IR_CR1INT )
{
INSIDE_MA_INTHANDLER_TIMER1_CR1;
/*--- Clear interrupt flag ---*/
T1IR_bit.CR1INT = 1;
}
/*--- Handle user code on function exit ---*/
EXIT_MA_INTHANDLER_TIMER1;
} /* MA_IntHandler_TIMER1 */
/*
**===========================================================================
** 5. INTERNAL FUNCTIONS (declared in Section 3.5)
**===========================================================================
*/
/*
**===========================================================================
** END OF FILE
**===========================================================================
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -