blob: c5501ac13c6bc261a882b49438b72c73fa0f1627 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
/********************************** (C) COPYRIGHT *******************************
* File Name : CH57x_timer3.c
* Author : WCH
* Version : V1.0
* Date : 2018/12/15
* Description
*******************************************************************************/
#include "CH57x_common.h"
/*******************************************************************************
* Function Name : TMR3_TimerInit
* Description : 定时功能初始化
* Input : t: 定时时间,基于当前系统时钟Tsys, 最长定时周期 67108864
* Return : None
*******************************************************************************/
void TMR3_TimerInit( UINT32 t )
{
R32_TMR3_CNT_END = t;
R8_TMR3_CTRL_MOD = RB_TMR_ALL_CLEAR;
R8_TMR3_CTRL_MOD = RB_TMR_COUNT_EN;
}
/*******************************************************************************
* Function Name : TMR3_EXTSingleCounterInit
* Description : 外部信号计数功能初始化
* Input : c: 外部送入信号脉冲计数, 最长计数 67108864
* Return : None
*******************************************************************************/
void TMR3_EXTSingleCounterInit( UINT32 c )
{
R32_TMR3_CNT_END = c;
R8_TMR3_CTRL_MOD = RB_TMR_ALL_CLEAR;
R8_TMR3_CTRL_MOD = RB_TMR_CAP_COUNT|RB_TMR_MODE_IN|RB_TMR_COUNT_EN;
}
/*******************************************************************************
* Function Name : TMR3_CountInit
* Description : 边沿计数功能初始化
* Input : cap: 采集计数类型
CAP_NULL - 不计数
Edge_To_Edge - 计数任意边沿
FallEdge_To_FallEdge - 计数下降沿
RiseEdge_To_RiseEdge - 计数上升沿
* Return : None
*******************************************************************************/
void TMR3_CountInit( 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);
}
/*******************************************************************************
* Function Name : TMR3_PWMInit
* Description : PWM 输出初始化
* Input : pr: select wave polar
refer to PWMX_PolarTypeDef
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);
}
/*******************************************************************************
* Function Name : TMR3_CapInit
* Description : 外部信号捕捉功能初始化
* Input : 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);
}
|