hpw422初始版本
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
/*!
|
||||
* \file xc_drv_qdec.h
|
||||
*
|
||||
* \brief The header of xc_drv_qdec.c
|
||||
*
|
||||
* \copyright Revised BSD License, see section \ref LICENSE.
|
||||
*
|
||||
* \code
|
||||
*
|
||||
* _ __ _ ________ _
|
||||
* | |/ /(_)___ / ____/ /_ (_)___
|
||||
* | // / __ \/ / / __ \/ / __ \
|
||||
* / |/ / / / / /___/ / / / / /_/ /
|
||||
* /_/|_/_/_/ /_/\____/_/ /_/_/ .___/
|
||||
* /_/
|
||||
* (C) 2022-2025 XinChip
|
||||
*
|
||||
* \endcode
|
||||
*
|
||||
* \author ( XinChip ) Alex-J
|
||||
*
|
||||
* \author ( XinChip )
|
||||
*/
|
||||
|
||||
#ifndef _XC_DRV_QDEC_H_
|
||||
#define _XC_DRV_QDEC_H_
|
||||
|
||||
/*-----------------------------------------------------------------------------------
|
||||
INCLUDE HEADE FILES
|
||||
------------------------------------------------------------------------------------*/
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "xc6xxx.h"
|
||||
|
||||
/*------------------------------------------------------------------------------------
|
||||
Macros
|
||||
-------------------------------------------------------------------------------------*/
|
||||
|
||||
/*------------------------------------------------------------------------------------
|
||||
TypeDef
|
||||
-------------------------------------------------------------------------------------*/
|
||||
|
||||
typedef enum {
|
||||
QDEC_DIVIDE_DIV_1 = 0,
|
||||
QDEC_DIVIDE_DIV_2 = 1,
|
||||
QDEC_DIVIDE_DIV_4 = 2,
|
||||
QDEC_DIVIDE_DIV_8 = 3,
|
||||
QDEC_DIVIDE_DIV_16 = 4,
|
||||
QDEC_DIVIDE_DIV_32 = 5,
|
||||
QDEC_DIVIDE_DIV_64 = 6,
|
||||
QDEC_DIVIDE_DIV_128 = 7,
|
||||
QDEC_DIVIDE_DIV_256 = 8,
|
||||
QDEC_DIVIDE_DIV_512 = 9,
|
||||
QDEC_DIVIDE_DIV_1024 = 10,
|
||||
QDEC_DIVIDE_DIV_2048 = 11,
|
||||
QDEC_DIVIDE_DIV_4096 = 12,
|
||||
QDEC_DIVIDE_DIV_8192 = 13,
|
||||
QDEC_DIVIDE_DIV_16384 = 14,
|
||||
QDEC_DIVIDE_DIV_32768 = 15,
|
||||
QDEC_DIVIDE_DIV_65536 = 16,
|
||||
QDEC_DIVIDE_DIV_131072 = 17,
|
||||
QDEC_DIVIDE_DIV_262144 = 18,
|
||||
QDEC_DIVIDE_DIV_524288 = 19,
|
||||
QDEC_DIVIDE_DIV_1048576 = 20
|
||||
|
||||
} eSampleDivide;
|
||||
|
||||
typedef enum {
|
||||
QDEC_PTS_NUM_5 = 0,
|
||||
QDEC_PTS_NUM_10 = 1,
|
||||
QDEC_PTS_NUM_40 = 2,
|
||||
QDEC_PTS_NUM_80 = 3,
|
||||
QDEC_PTS_NUM_120 = 4,
|
||||
QDEC_PTS_NUM_160 = 5,
|
||||
QDEC_PTS_NUM_200 = 6,
|
||||
QDEC_PTS_NUM_240 = 7,
|
||||
QDEC_PTS_NUM_280 = 8,
|
||||
QDEC_PTS_NUM_320 = 9,
|
||||
QDEC_PTS_NUM_360 = 10,
|
||||
QDEC_PTS_NUM_400 = 11
|
||||
|
||||
} ePtsNum;
|
||||
|
||||
typedef enum {
|
||||
QDEC_DB_SAMP_DIV_1 = 0,
|
||||
QDEC_DB_SAMP_DIV_2 = 1,
|
||||
QDEC_DB_SAMP_DIV_4 = 2,
|
||||
QDEC_DB_SAMP_DIV_8 = 3,
|
||||
QDEC_DB_SAMP_DIV_16 = 4,
|
||||
QDEC_DB_SAMP_DIV_32 = 5,
|
||||
QDEC_DB_SAMP_DIV_64 = 6
|
||||
|
||||
} eDBSampDiv;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t auto_clr_en;
|
||||
uint8_t single_sample_rst_en;
|
||||
uint8_t db_filter_en;
|
||||
eSampleDivide acc_sample_div;
|
||||
ePtsNum num_pts_sampled;
|
||||
eDBSampDiv db_sample_div;
|
||||
|
||||
} Qdec_InitCfg_t;
|
||||
|
||||
/*------------------------------------------------------------------------------------
|
||||
Global Variables
|
||||
-------------------------------------------------------------------------------------*/
|
||||
|
||||
/*------------------------------------------------------------------------------------
|
||||
Exported Functions
|
||||
-------------------------------------------------------------------------------------*/
|
||||
void xc_qdec_init(Qdec_InitCfg_t *init_cfg);
|
||||
void xc_qdec_enable(void);
|
||||
void xc_qdec_disable(void);
|
||||
void xc_qdec_start(void);
|
||||
void xc_qdec_stop(void);
|
||||
|
||||
#endif // _XC_DRV_AOTIMER_H_
|
||||
Reference in New Issue
Block a user