📄 timerset.h
字号:
/******************************************************************************
* timerSet.c
*
* Copyright 1994-2006 HolyStone Technology Co.,Ltd.
*
* DESCRIPTION: CC1100-2500 Interface Code Library v1.0
*
* modification history
* --------------------
* 01a, 23mar2007, cuiqingwei written
* --------------------
******************************************************************************/
#ifndef _TIMERSET_H
#define _TIMERSET_H
//-----------------------------------------------------------------------------
// EXTERN FUNCTIONS
//-----------------------------------------------------------------------------
/******************************************************************************
* @fn SetTimer1Period
*
* @brief
* This function sets up timer 1 to run with a given period. If _period_ is
* set to 0, maximum period length will be used. The first time the timer
* is used the macro TIMER1_INIT() should be run to clear all settings. The
* timer is started and stopped with the macro TIMER1_RUN(TRUE / FALSE).
*
* Parameters:
*
* @param dword period
* The desired timer period in u-seconds.
*
* @return word
* The timer value written to the register if the configuration was
* successful and 0 if the period could not be achieved. This return
* value can be used for determining pulse widths when the timer is
* used in PWM mode.
*
******************************************************************************/
word SetTimer1Period(dword period);
/******************************************************************************
* @fn SetTimer2Period
*
* @brief
* This function sets the period and overflow counter value of the MAC timer
* (timer 2). The timer can be set up with 320 u-second periods according to
* IEEE 802.15.4 or as a normal counter with 1 m-second period by using the
* option TIMER2_MAC_TIMER or TIMER2_NORMAL_TIMER respectively. The value of
* _period_ gives the number of periods (320 u-seconds or 1 m-seconds) to
* generate a compare event. The timer is set up to compensate for any clock
* division. The timer is also set up to be synchronised with the 32.768 KHz
* clock when entering or leaving power mode 0. When starting synchronously
* from power mode 1 or 2, the timer value is updated by adding the time
* passed since PM 0 was left. This time is kept by the 32.768 KHz clock.
* This way the time is kept as if the chip had been in power mode 0 the
* whole time. The timer must be started with the macro
* TIMER2_RUN(TRUE) or MAC_TIMER_RUN(TRUE). The macro TIMER2_INIT() should be
* run in advance to reset all register values.
*
* Parameters:
*
* @param byte mode
* Determines which time period Timer 2 is to use. The period of Timer 2
* is either 320 u-seconds (TIMER2_MAC_TIMER) or 1 m-second
* (TIMER2_NORMAL_TIMER).
* @param dword period
* This value indicates how many periods (320 u-second or 1 m-second) to
* pass before an overflow compare event is generated.
*
* @return bool
Returns 0 if period is too large, 1 otherwise.
*
******************************************************************************/
bool SetTimer2Period(byte mode, dword period);
/******************************************************************************
* @fn halSetTimer34Period
*
* @brief
* This function sets the period of timer 3 or 4 according to the value of
* _timer_. The two timers are identical. Clock division is used to fit the
* desired period within the timer range. If the period is too short or too
* long the function returns 0. If the period is successfully set, the
* function returns the byte value written to the timer register. This
* value can be used to set the pulse length if the timer is used for PWM.
* If _period_ is set to 0, maximum timeout value will be used.
*
* Parameters:
*
* @param byte timer
* Indicates which timer to configure. Must be either 3 or 4
* (0x03 or 0x04).
* @param dword period - Describe value.
* The desired period in microseconds.
*
* @return byte
* The value written to the TxCC0 register. The timer is incremented up
* to this value before the timer is reset. This value may be used to
* set the pulse length in PWM mode.
*
******************************************************************************/
byte SetTimer34Period(byte timer, dword period);
#endif /* _TIMERSET_H */
/*------------------------------------------------------------------------------
0ooo
ooo0 ( )
( ) ) /
\ ( (_/
\_) By:cuiqingwei [gary]
------------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -