BLE5.2
1.0
开发文档说明
首页
相关页面
类
文件
文件列表
文件成员
TEST2
api
xc_drv_qdec.h
浏览该文件的文档.
1
25
#ifndef _XC_DRV_QDEC_H_
26
#define _XC_DRV_QDEC_H_
27
28
/*-----------------------------------------------------------------------------------
29
INCLUDE HEADE FILES
30
------------------------------------------------------------------------------------*/
31
#include <stdbool.h>
32
#include <stdio.h>
33
34
#include "xc6xxx.h"
35
36
/*------------------------------------------------------------------------------------
37
Macros
38
-------------------------------------------------------------------------------------*/
39
40
/*------------------------------------------------------------------------------------
41
TypeDef
42
-------------------------------------------------------------------------------------*/
43
44
typedef
enum
{
45
QDEC_DIVIDE_DIV_1
= 0,
46
QDEC_DIVIDE_DIV_2
= 1,
47
QDEC_DIVIDE_DIV_4
= 2,
48
QDEC_DIVIDE_DIV_8
= 3,
49
QDEC_DIVIDE_DIV_16
= 4,
50
QDEC_DIVIDE_DIV_32
= 5,
51
QDEC_DIVIDE_DIV_64
= 6,
52
QDEC_DIVIDE_DIV_128
= 7,
53
QDEC_DIVIDE_DIV_256
= 8,
54
QDEC_DIVIDE_DIV_512
= 9,
55
QDEC_DIVIDE_DIV_1024
= 10,
56
QDEC_DIVIDE_DIV_2048
= 11,
57
QDEC_DIVIDE_DIV_4096
= 12,
58
QDEC_DIVIDE_DIV_8192
= 13,
59
QDEC_DIVIDE_DIV_16384
= 14,
60
QDEC_DIVIDE_DIV_32768
= 15,
61
QDEC_DIVIDE_DIV_65536
= 16,
62
QDEC_DIVIDE_DIV_131072
= 17,
63
QDEC_DIVIDE_DIV_262144
= 18,
64
QDEC_DIVIDE_DIV_524288
= 19,
65
QDEC_DIVIDE_DIV_1048576
= 20
66
67
}
eSampleDivide
;
68
69
typedef
enum
{
70
QDEC_PTS_NUM_5
= 0,
71
QDEC_PTS_NUM_10
= 1,
72
QDEC_PTS_NUM_40
= 2,
73
QDEC_PTS_NUM_80
= 3,
74
QDEC_PTS_NUM_120
= 4,
75
QDEC_PTS_NUM_160
= 5,
76
QDEC_PTS_NUM_200
= 6,
77
QDEC_PTS_NUM_240
= 7,
78
QDEC_PTS_NUM_280
= 8,
79
QDEC_PTS_NUM_320
= 9,
80
QDEC_PTS_NUM_360
= 10,
81
QDEC_PTS_NUM_400
= 11
82
83
}
ePtsNum
;
84
85
typedef
enum
{
86
QDEC_DB_SAMP_DIV_1
= 0,
87
QDEC_DB_SAMP_DIV_2
= 1,
88
QDEC_DB_SAMP_DIV_4
= 2,
89
QDEC_DB_SAMP_DIV_8
= 3,
90
QDEC_DB_SAMP_DIV_16
= 4,
91
QDEC_DB_SAMP_DIV_32
= 5,
92
QDEC_DB_SAMP_DIV_64
= 6
93
94
}
eDBSampDiv
;
95
96
typedef
struct
97
{
98
uint8_t
auto_clr_en
;
99
uint8_t
single_sample_rst_en
;
100
uint8_t
db_filter_en
;
101
eSampleDivide
acc_sample_div
;
102
ePtsNum
num_pts_sampled
;
103
eDBSampDiv
db_sample_div
;
104
105
}
Qdec_InitCfg_t
;
106
107
/*------------------------------------------------------------------------------------
108
Global Variables
109
-------------------------------------------------------------------------------------*/
110
111
/*------------------------------------------------------------------------------------
112
Exported Functions
113
-------------------------------------------------------------------------------------*/
114
void
xc_qdec_init
(
Qdec_InitCfg_t
*init_cfg);
115
void
xc_qdec_enable
(
void
);
116
void
xc_qdec_disable
(
void
);
117
void
xc_qdec_start
(
void
);
118
void
xc_qdec_stop
(
void
);
119
120
#endif
// _XC_DRV_AOTIMER_H_
Qdec_InitCfg_t
Definition
xc_drv_qdec.h:97
Qdec_InitCfg_t::db_sample_div
eDBSampDiv db_sample_div
Definition
xc_drv_qdec.h:103
Qdec_InitCfg_t::num_pts_sampled
ePtsNum num_pts_sampled
Definition
xc_drv_qdec.h:102
Qdec_InitCfg_t::single_sample_rst_en
uint8_t single_sample_rst_en
Definition
xc_drv_qdec.h:99
Qdec_InitCfg_t::auto_clr_en
uint8_t auto_clr_en
Definition
xc_drv_qdec.h:98
Qdec_InitCfg_t::acc_sample_div
eSampleDivide acc_sample_div
Definition
xc_drv_qdec.h:101
Qdec_InitCfg_t::db_filter_en
uint8_t db_filter_en
Definition
xc_drv_qdec.h:100
xc_qdec_disable
void xc_qdec_disable(void)
Definition
xc_drv_qdec.c:109
eSampleDivide
eSampleDivide
Definition
xc_drv_qdec.h:44
QDEC_DIVIDE_DIV_128
@ QDEC_DIVIDE_DIV_128
Definition
xc_drv_qdec.h:52
QDEC_DIVIDE_DIV_64
@ QDEC_DIVIDE_DIV_64
Definition
xc_drv_qdec.h:51
QDEC_DIVIDE_DIV_131072
@ QDEC_DIVIDE_DIV_131072
Definition
xc_drv_qdec.h:62
QDEC_DIVIDE_DIV_1
@ QDEC_DIVIDE_DIV_1
Definition
xc_drv_qdec.h:45
QDEC_DIVIDE_DIV_2048
@ QDEC_DIVIDE_DIV_2048
Definition
xc_drv_qdec.h:56
QDEC_DIVIDE_DIV_8
@ QDEC_DIVIDE_DIV_8
Definition
xc_drv_qdec.h:48
QDEC_DIVIDE_DIV_512
@ QDEC_DIVIDE_DIV_512
Definition
xc_drv_qdec.h:54
QDEC_DIVIDE_DIV_1048576
@ QDEC_DIVIDE_DIV_1048576
Definition
xc_drv_qdec.h:65
QDEC_DIVIDE_DIV_2
@ QDEC_DIVIDE_DIV_2
Definition
xc_drv_qdec.h:46
QDEC_DIVIDE_DIV_8192
@ QDEC_DIVIDE_DIV_8192
Definition
xc_drv_qdec.h:58
QDEC_DIVIDE_DIV_16384
@ QDEC_DIVIDE_DIV_16384
Definition
xc_drv_qdec.h:59
QDEC_DIVIDE_DIV_32
@ QDEC_DIVIDE_DIV_32
Definition
xc_drv_qdec.h:50
QDEC_DIVIDE_DIV_4096
@ QDEC_DIVIDE_DIV_4096
Definition
xc_drv_qdec.h:57
QDEC_DIVIDE_DIV_1024
@ QDEC_DIVIDE_DIV_1024
Definition
xc_drv_qdec.h:55
QDEC_DIVIDE_DIV_16
@ QDEC_DIVIDE_DIV_16
Definition
xc_drv_qdec.h:49
QDEC_DIVIDE_DIV_65536
@ QDEC_DIVIDE_DIV_65536
Definition
xc_drv_qdec.h:61
QDEC_DIVIDE_DIV_32768
@ QDEC_DIVIDE_DIV_32768
Definition
xc_drv_qdec.h:60
QDEC_DIVIDE_DIV_262144
@ QDEC_DIVIDE_DIV_262144
Definition
xc_drv_qdec.h:63
QDEC_DIVIDE_DIV_524288
@ QDEC_DIVIDE_DIV_524288
Definition
xc_drv_qdec.h:64
QDEC_DIVIDE_DIV_4
@ QDEC_DIVIDE_DIV_4
Definition
xc_drv_qdec.h:47
QDEC_DIVIDE_DIV_256
@ QDEC_DIVIDE_DIV_256
Definition
xc_drv_qdec.h:53
xc_qdec_init
void xc_qdec_init(Qdec_InitCfg_t *init_cfg)
Definition
xc_drv_qdec.c:49
xc_qdec_start
void xc_qdec_start(void)
Definition
xc_drv_qdec.c:122
xc_qdec_enable
void xc_qdec_enable(void)
Definition
xc_drv_qdec.c:96
eDBSampDiv
eDBSampDiv
Definition
xc_drv_qdec.h:85
QDEC_DB_SAMP_DIV_32
@ QDEC_DB_SAMP_DIV_32
Definition
xc_drv_qdec.h:91
QDEC_DB_SAMP_DIV_2
@ QDEC_DB_SAMP_DIV_2
Definition
xc_drv_qdec.h:87
QDEC_DB_SAMP_DIV_64
@ QDEC_DB_SAMP_DIV_64
Definition
xc_drv_qdec.h:92
QDEC_DB_SAMP_DIV_8
@ QDEC_DB_SAMP_DIV_8
Definition
xc_drv_qdec.h:89
QDEC_DB_SAMP_DIV_4
@ QDEC_DB_SAMP_DIV_4
Definition
xc_drv_qdec.h:88
QDEC_DB_SAMP_DIV_1
@ QDEC_DB_SAMP_DIV_1
Definition
xc_drv_qdec.h:86
QDEC_DB_SAMP_DIV_16
@ QDEC_DB_SAMP_DIV_16
Definition
xc_drv_qdec.h:90
xc_qdec_stop
void xc_qdec_stop(void)
Definition
xc_drv_qdec.c:135
ePtsNum
ePtsNum
Definition
xc_drv_qdec.h:69
QDEC_PTS_NUM_160
@ QDEC_PTS_NUM_160
Definition
xc_drv_qdec.h:75
QDEC_PTS_NUM_120
@ QDEC_PTS_NUM_120
Definition
xc_drv_qdec.h:74
QDEC_PTS_NUM_200
@ QDEC_PTS_NUM_200
Definition
xc_drv_qdec.h:76
QDEC_PTS_NUM_40
@ QDEC_PTS_NUM_40
Definition
xc_drv_qdec.h:72
QDEC_PTS_NUM_10
@ QDEC_PTS_NUM_10
Definition
xc_drv_qdec.h:71
QDEC_PTS_NUM_360
@ QDEC_PTS_NUM_360
Definition
xc_drv_qdec.h:80
QDEC_PTS_NUM_5
@ QDEC_PTS_NUM_5
Definition
xc_drv_qdec.h:70
QDEC_PTS_NUM_320
@ QDEC_PTS_NUM_320
Definition
xc_drv_qdec.h:79
QDEC_PTS_NUM_240
@ QDEC_PTS_NUM_240
Definition
xc_drv_qdec.h:77
QDEC_PTS_NUM_400
@ QDEC_PTS_NUM_400
Definition
xc_drv_qdec.h:81
QDEC_PTS_NUM_280
@ QDEC_PTS_NUM_280
Definition
xc_drv_qdec.h:78
QDEC_PTS_NUM_80
@ QDEC_PTS_NUM_80
Definition
xc_drv_qdec.h:73
制作者
1.9.7