Files
hpw421/component/xc6xx_drivers/Drivers/test_case/QDEC/qdec.c
T
2026-06-06 16:49:48 +08:00

69 lines
2.1 KiB
C

/*!
* \file qdec.c
*
* \brief Target qdec implementation
*
* \copyright Revised BSD License, see section \ref LICENSE.
*
* \code
*
* _ __ _ ________ _
* | |/ /(_)___ / ____/ /_ (_)___
* | // / __ \/ / / __ \/ / __ \
* / |/ / / / / /___/ / / / / /_/ /
* /_/|_/_/_/ /_/\____/_/ /_/_/ .___/
* /_/
* (C) 2022-2025 XinChip
*
* \endcode
*
* \author ( XinChip ) Alex-J
*
* \author ( XinChip )
*/
/*------------------------------------------------------------------------------------
INCLUDE HEADE FILES
--------------------------------------------------------------------------------------*/
#include "qdec.h"
#include "xc6xxx_hal_qdec.h"
/*------------------------------------------------------------------------------------
Functions
-------------------------------------------------------------------------------------*/
/**
****************************************************************************************
* @brief
*
* @param[in]
* @param[in]
****************************************************************************************
*/
void qdec_demo(void) {
DEBUG("__QDEC_DEMO__\n");
DEBUG("0_XC_QDEC->QDEC_CTL[0x%08x]: %08x\n", &XC_QDEC->QDEC_CTL,
XC_QDEC->QDEC_CTL);
QDEC_InitCfg qdec_config;
qdec_config.Auto_Clr_En = DISABLE;
qdec_config.Single_Sample_Rst_En = DISABLE;
qdec_config.DB_Filter_En = ENABLE;
qdec_config.Acc_Sample_Div = QDEC_DIVIDE_DIV_1024;
qdec_config.Pts_Sampled = QDEC_PTS_NUM_80;
qdec_config.DB_Sample_Div = QDEC_DB_SAMP_DIV_32;
QDEC_Init(XC_QDEC, &qdec_config);
// XC_QDEC->QDEC_CTL = 0x01;
DEBUG("1_XC_QDEC->QDEC_CTL[0x%08x]: %08x\n", &XC_QDEC->QDEC_CTL,
XC_QDEC->QDEC_CTL);
DEBUG("XC_QDEC->SAMP_CTL[0x%08x]: %08x\n", &XC_QDEC->SAMP_CTL,
XC_QDEC->SAMP_CTL);
// NVIC_EnableIRQ(QDEC_IRQn);
__QDEC_Enable();
__QDEC_Start_Count();
DEBUG("2_XC_QDEC->QDEC_CTL[0x%08x]: %08x\n", &XC_QDEC->QDEC_CTL,
XC_QDEC->QDEC_CTL);
NVIC_EnableIRQ(QDEC_IRQn);
}