Initial commit
This commit is contained in:
75
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_timer3.c
Normal file
75
CH5xx_ble_firmware_library/StdPeriphDriver/CH58x_timer3.c
Normal file
@@ -0,0 +1,75 @@
|
||||
/********************************** (C) COPYRIGHT *******************************
|
||||
* File Name : CH58x_timer3.c
|
||||
* Author : WCH
|
||||
* Version : V1.2
|
||||
* Date : 2021/11/17
|
||||
* Description
|
||||
*********************************************************************************
|
||||
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
|
||||
* Attention: This software (modified or not) and binary are used for
|
||||
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
|
||||
*******************************************************************************/
|
||||
|
||||
#include "CH58x_common.h"
|
||||
|
||||
/*********************************************************************
|
||||
* @fn TMR3_TimerInit
|
||||
*
|
||||
* @brief 定时功能初始化
|
||||
*
|
||||
* @param t - 定时时间,基于当前系统时钟Tsys, 最长定时周期 67108864
|
||||
*
|
||||
* @return none
|
||||
*/
|
||||
void TMR3_TimerInit(uint32_t t)
|
||||
{
|
||||
R32_TMR3_CNT_END = t;
|
||||
R8_TMR3_CTRL_MOD = RB_TMR_ALL_CLEAR;
|
||||
R8_TMR3_CTRL_MOD = RB_TMR_COUNT_EN;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* @fn TMR3_EXTSingleCounterInit
|
||||
*
|
||||
* @brief 边沿计数功能初始化
|
||||
*
|
||||
* @param cap - 采集计数类型
|
||||
*
|
||||
* @return none
|
||||
*/
|
||||
void TMR3_EXTSingleCounterInit(CapModeTypeDef cap)
|
||||
{
|
||||
R8_TMR3_CTRL_MOD = RB_TMR_ALL_CLEAR;
|
||||
R8_TMR3_CTRL_MOD = RB_TMR_COUNT_EN | RB_TMR_CAP_COUNT | RB_TMR_MODE_IN | (cap << 6);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* @fn TMR3_PWMInit
|
||||
*
|
||||
* @brief PWM 输出初始化
|
||||
*
|
||||
* @param pr - select wave polar, refer to PWMX_PolarTypeDef
|
||||
* @param ts - set pwm repeat times, refer to PWM_RepeatTsTypeDef
|
||||
*
|
||||
* @return none
|
||||
*/
|
||||
void TMR3_PWMInit(PWMX_PolarTypeDef pr, PWM_RepeatTsTypeDef ts)
|
||||
{
|
||||
// R8_TMR3_CTRL_MOD = RB_TMR_ALL_CLEAR;
|
||||
R8_TMR3_CTRL_MOD = RB_TMR_COUNT_EN | RB_TMR_OUT_EN | (pr << 4) | (ts << 6);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* @fn TMR3_CapInit
|
||||
*
|
||||
* @brief 外部信号捕捉功能初始化
|
||||
*
|
||||
* @param cap - select capture mode, refer to CapModeTypeDef
|
||||
*
|
||||
* @return none
|
||||
*/
|
||||
void TMR3_CapInit(CapModeTypeDef cap)
|
||||
{
|
||||
R8_TMR3_CTRL_MOD = RB_TMR_ALL_CLEAR;
|
||||
R8_TMR3_CTRL_MOD = RB_TMR_COUNT_EN | RB_TMR_MODE_IN | (cap << 6);
|
||||
}
|
||||
Reference in New Issue
Block a user