Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
sahilmgandhi
Date:
Sun May 14 23:18:57 2017 +0000
Revision:
18:6a4db94011d3
Publishing again

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sahilmgandhi 18:6a4db94011d3 1 /**************************************************************************//**
sahilmgandhi 18:6a4db94011d3 2 * @file acmp.c
sahilmgandhi 18:6a4db94011d3 3 * @version V3.00
sahilmgandhi 18:6a4db94011d3 4 * $Revision: 4 $
sahilmgandhi 18:6a4db94011d3 5 * $Date: 15/08/11 10:26a $
sahilmgandhi 18:6a4db94011d3 6 * @brief M451 series Analog Comparator(ACMP) driver source file
sahilmgandhi 18:6a4db94011d3 7 *
sahilmgandhi 18:6a4db94011d3 8 * @note
sahilmgandhi 18:6a4db94011d3 9 * Copyright (C) 2014~2015 Nuvoton Technology Corp. All rights reserved.
sahilmgandhi 18:6a4db94011d3 10 *****************************************************************************/
sahilmgandhi 18:6a4db94011d3 11
sahilmgandhi 18:6a4db94011d3 12 #include "M451Series.h"
sahilmgandhi 18:6a4db94011d3 13
sahilmgandhi 18:6a4db94011d3 14 #ifdef __cplusplus
sahilmgandhi 18:6a4db94011d3 15 extern "C"
sahilmgandhi 18:6a4db94011d3 16 {
sahilmgandhi 18:6a4db94011d3 17 #endif
sahilmgandhi 18:6a4db94011d3 18
sahilmgandhi 18:6a4db94011d3 19 /** @addtogroup Standard_Driver Standard Driver
sahilmgandhi 18:6a4db94011d3 20 @{
sahilmgandhi 18:6a4db94011d3 21 */
sahilmgandhi 18:6a4db94011d3 22
sahilmgandhi 18:6a4db94011d3 23 /** @addtogroup ACMP_Driver ACMP Driver
sahilmgandhi 18:6a4db94011d3 24 @{
sahilmgandhi 18:6a4db94011d3 25 */
sahilmgandhi 18:6a4db94011d3 26
sahilmgandhi 18:6a4db94011d3 27
sahilmgandhi 18:6a4db94011d3 28 /** @addtogroup ACMP_EXPORTED_FUNCTIONS ACMP Exported Functions
sahilmgandhi 18:6a4db94011d3 29 @{
sahilmgandhi 18:6a4db94011d3 30 */
sahilmgandhi 18:6a4db94011d3 31
sahilmgandhi 18:6a4db94011d3 32
sahilmgandhi 18:6a4db94011d3 33 /**
sahilmgandhi 18:6a4db94011d3 34 * @brief Configure the specified ACMP module
sahilmgandhi 18:6a4db94011d3 35 *
sahilmgandhi 18:6a4db94011d3 36 * @param[in] Acmp The pointer of the specified ACMP module
sahilmgandhi 18:6a4db94011d3 37 * @param[in] u32ChNum Comparator number.
sahilmgandhi 18:6a4db94011d3 38 * @param[in] u32NegSrc Comparator negative input selection. Including:
sahilmgandhi 18:6a4db94011d3 39 * - \ref ACMP_CTL_NEGSEL_PIN
sahilmgandhi 18:6a4db94011d3 40 * - \ref ACMP_CTL_NEGSEL_CRV
sahilmgandhi 18:6a4db94011d3 41 * - \ref ACMP_CTL_NEGSEL_VBG
sahilmgandhi 18:6a4db94011d3 42 * - \ref ACMP_CTL_NEGSEL_DAC
sahilmgandhi 18:6a4db94011d3 43 * @param[in] u32HysteresisEn The hysteresis function option. Including:
sahilmgandhi 18:6a4db94011d3 44 * - \ref ACMP_CTL_HYSTERESIS_ENABLE
sahilmgandhi 18:6a4db94011d3 45 * - \ref ACMP_CTL_HYSTERESIS_DISABLE
sahilmgandhi 18:6a4db94011d3 46 *
sahilmgandhi 18:6a4db94011d3 47 * @return None
sahilmgandhi 18:6a4db94011d3 48 *
sahilmgandhi 18:6a4db94011d3 49 * @details Configure hysteresis function, select the source of negative input and enable analog comparator.
sahilmgandhi 18:6a4db94011d3 50 */
sahilmgandhi 18:6a4db94011d3 51 void ACMP_Open(ACMP_T *Acmp, uint32_t u32ChNum, uint32_t u32NegSrc, uint32_t u32HysteresisEn)
sahilmgandhi 18:6a4db94011d3 52 {
sahilmgandhi 18:6a4db94011d3 53 Acmp->CTL[u32ChNum] = (Acmp->CTL[u32ChNum] & (~(ACMP_CTL_NEGSEL_Msk | ACMP_CTL_HYSEN_Msk))) | (u32NegSrc | u32HysteresisEn | ACMP_CTL_ACMPEN_Msk);
sahilmgandhi 18:6a4db94011d3 54 }
sahilmgandhi 18:6a4db94011d3 55
sahilmgandhi 18:6a4db94011d3 56 /**
sahilmgandhi 18:6a4db94011d3 57 * @brief Close analog comparator
sahilmgandhi 18:6a4db94011d3 58 *
sahilmgandhi 18:6a4db94011d3 59 * @param[in] Acmp The pointer of the specified ACMP module
sahilmgandhi 18:6a4db94011d3 60 * @param[in] u32ChNum Comparator number.
sahilmgandhi 18:6a4db94011d3 61 *
sahilmgandhi 18:6a4db94011d3 62 * @return None
sahilmgandhi 18:6a4db94011d3 63 *
sahilmgandhi 18:6a4db94011d3 64 * @details This function will clear ACMPEN bit of ACMP_CTL register to disable analog comparator.
sahilmgandhi 18:6a4db94011d3 65 */
sahilmgandhi 18:6a4db94011d3 66 void ACMP_Close(ACMP_T *Acmp, uint32_t u32ChNum)
sahilmgandhi 18:6a4db94011d3 67 {
sahilmgandhi 18:6a4db94011d3 68 Acmp->CTL[u32ChNum] &= (~ACMP_CTL_ACMPEN_Msk);
sahilmgandhi 18:6a4db94011d3 69 }
sahilmgandhi 18:6a4db94011d3 70
sahilmgandhi 18:6a4db94011d3 71
sahilmgandhi 18:6a4db94011d3 72
sahilmgandhi 18:6a4db94011d3 73 /*@}*/ /* end of group ACMP_EXPORTED_FUNCTIONS */
sahilmgandhi 18:6a4db94011d3 74
sahilmgandhi 18:6a4db94011d3 75 /*@}*/ /* end of group ACMP_Driver */
sahilmgandhi 18:6a4db94011d3 76
sahilmgandhi 18:6a4db94011d3 77 /*@}*/ /* end of group Standard_Driver */
sahilmgandhi 18:6a4db94011d3 78
sahilmgandhi 18:6a4db94011d3 79 #ifdef __cplusplus
sahilmgandhi 18:6a4db94011d3 80 }
sahilmgandhi 18:6a4db94011d3 81 #endif
sahilmgandhi 18:6a4db94011d3 82
sahilmgandhi 18:6a4db94011d3 83 /*** (C) COPYRIGHT 2014~2015 Nuvoton Technology Corp. ***/
sahilmgandhi 18:6a4db94011d3 84