mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Thu Apr 03 11:45:06 2014 +0100
Revision:
149:1fb5f62b92bd
Parent:
targets/hal/TARGET_Freescale/TARGET_KSDK_MCUS/TARGET_K64F/device/MK64F12/MK64F12_cmp.h@146:f64d43ff0c18
Synchronized with git revision 220c0bb39ceee40016e1e86350c058963d01ed42

Full URL: https://github.com/mbedmicro/mbed/commit/220c0bb39ceee40016e1e86350c058963d01ed42/

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 146:f64d43ff0c18 1 /*
mbed_official 146:f64d43ff0c18 2 * Copyright (c) 2014, Freescale Semiconductor, Inc.
mbed_official 146:f64d43ff0c18 3 * All rights reserved.
mbed_official 146:f64d43ff0c18 4 *
mbed_official 146:f64d43ff0c18 5 * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESS OR IMPLIED
mbed_official 146:f64d43ff0c18 6 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
mbed_official 146:f64d43ff0c18 7 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
mbed_official 146:f64d43ff0c18 8 * SHALL FREESCALE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
mbed_official 146:f64d43ff0c18 9 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
mbed_official 146:f64d43ff0c18 10 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
mbed_official 146:f64d43ff0c18 11 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
mbed_official 146:f64d43ff0c18 12 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
mbed_official 146:f64d43ff0c18 13 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
mbed_official 146:f64d43ff0c18 14 * OF SUCH DAMAGE.
mbed_official 146:f64d43ff0c18 15 */
mbed_official 146:f64d43ff0c18 16 /*
mbed_official 146:f64d43ff0c18 17 * WARNING! DO NOT EDIT THIS FILE DIRECTLY!
mbed_official 146:f64d43ff0c18 18 *
mbed_official 146:f64d43ff0c18 19 * This file was generated automatically and any changes may be lost.
mbed_official 146:f64d43ff0c18 20 */
mbed_official 146:f64d43ff0c18 21 #ifndef __HW_CMP_REGISTERS_H__
mbed_official 146:f64d43ff0c18 22 #define __HW_CMP_REGISTERS_H__
mbed_official 146:f64d43ff0c18 23
mbed_official 146:f64d43ff0c18 24 #include "regs.h"
mbed_official 146:f64d43ff0c18 25
mbed_official 146:f64d43ff0c18 26 /*
mbed_official 146:f64d43ff0c18 27 * MK64F12 CMP
mbed_official 146:f64d43ff0c18 28 *
mbed_official 146:f64d43ff0c18 29 * High-Speed Comparator (CMP), Voltage Reference (VREF) Digital-to-Analog Converter (DAC), and Analog Mux (ANMUX)
mbed_official 146:f64d43ff0c18 30 *
mbed_official 146:f64d43ff0c18 31 * Registers defined in this header file:
mbed_official 146:f64d43ff0c18 32 * - HW_CMP_CR0 - CMP Control Register 0
mbed_official 146:f64d43ff0c18 33 * - HW_CMP_CR1 - CMP Control Register 1
mbed_official 146:f64d43ff0c18 34 * - HW_CMP_FPR - CMP Filter Period Register
mbed_official 146:f64d43ff0c18 35 * - HW_CMP_SCR - CMP Status and Control Register
mbed_official 146:f64d43ff0c18 36 * - HW_CMP_DACCR - DAC Control Register
mbed_official 146:f64d43ff0c18 37 * - HW_CMP_MUXCR - MUX Control Register
mbed_official 146:f64d43ff0c18 38 *
mbed_official 146:f64d43ff0c18 39 * - hw_cmp_t - Struct containing all module registers.
mbed_official 146:f64d43ff0c18 40 */
mbed_official 146:f64d43ff0c18 41
mbed_official 146:f64d43ff0c18 42 //! @name Module base addresses
mbed_official 146:f64d43ff0c18 43 //@{
mbed_official 146:f64d43ff0c18 44 #ifndef REGS_CMP_BASE
mbed_official 146:f64d43ff0c18 45 #define HW_CMP_INSTANCE_COUNT (3U) //!< Number of instances of the CMP module.
mbed_official 146:f64d43ff0c18 46 #define HW_CMP0 (0U) //!< Instance number for CMP0.
mbed_official 146:f64d43ff0c18 47 #define HW_CMP1 (1U) //!< Instance number for CMP1.
mbed_official 146:f64d43ff0c18 48 #define HW_CMP2 (2U) //!< Instance number for CMP2.
mbed_official 146:f64d43ff0c18 49 #define REGS_CMP0_BASE (0x40073000U) //!< Base address for CMP0.
mbed_official 146:f64d43ff0c18 50 #define REGS_CMP1_BASE (0x40073008U) //!< Base address for CMP1.
mbed_official 146:f64d43ff0c18 51 #define REGS_CMP2_BASE (0x40073010U) //!< Base address for CMP2.
mbed_official 146:f64d43ff0c18 52
mbed_official 146:f64d43ff0c18 53 //! @brief Table of base addresses for CMP instances.
mbed_official 146:f64d43ff0c18 54 static const uint32_t __g_regs_CMP_base_addresses[] = {
mbed_official 146:f64d43ff0c18 55 REGS_CMP0_BASE,
mbed_official 146:f64d43ff0c18 56 REGS_CMP1_BASE,
mbed_official 146:f64d43ff0c18 57 REGS_CMP2_BASE,
mbed_official 146:f64d43ff0c18 58 };
mbed_official 146:f64d43ff0c18 59
mbed_official 146:f64d43ff0c18 60 //! @brief Get the base address of CMP by instance number.
mbed_official 146:f64d43ff0c18 61 //! @param x CMP instance number, from 0 through 2.
mbed_official 146:f64d43ff0c18 62 #define REGS_CMP_BASE(x) (__g_regs_CMP_base_addresses[(x)])
mbed_official 146:f64d43ff0c18 63
mbed_official 146:f64d43ff0c18 64 //! @brief Get the instance number given a base address.
mbed_official 146:f64d43ff0c18 65 //! @param b Base address for an instance of CMP.
mbed_official 146:f64d43ff0c18 66 #define REGS_CMP_INSTANCE(b) ((b) == REGS_CMP0_BASE ? HW_CMP0 : (b) == REGS_CMP1_BASE ? HW_CMP1 : (b) == REGS_CMP2_BASE ? HW_CMP2 : 0)
mbed_official 146:f64d43ff0c18 67 #endif
mbed_official 146:f64d43ff0c18 68 //@}
mbed_official 146:f64d43ff0c18 69
mbed_official 146:f64d43ff0c18 70 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 71 // HW_CMP_CR0 - CMP Control Register 0
mbed_official 146:f64d43ff0c18 72 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 73
mbed_official 146:f64d43ff0c18 74 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 75 /*!
mbed_official 146:f64d43ff0c18 76 * @brief HW_CMP_CR0 - CMP Control Register 0 (RW)
mbed_official 146:f64d43ff0c18 77 *
mbed_official 146:f64d43ff0c18 78 * Reset value: 0x00U
mbed_official 146:f64d43ff0c18 79 */
mbed_official 146:f64d43ff0c18 80 typedef union _hw_cmp_cr0
mbed_official 146:f64d43ff0c18 81 {
mbed_official 146:f64d43ff0c18 82 uint8_t U;
mbed_official 146:f64d43ff0c18 83 struct _hw_cmp_cr0_bitfields
mbed_official 146:f64d43ff0c18 84 {
mbed_official 146:f64d43ff0c18 85 uint8_t HYSTCTR : 2; //!< [1:0] Comparator hard block hysteresis
mbed_official 146:f64d43ff0c18 86 //! control
mbed_official 146:f64d43ff0c18 87 uint8_t RESERVED0 : 2; //!< [3:2]
mbed_official 146:f64d43ff0c18 88 uint8_t FILTER_CNT : 3; //!< [6:4] Filter Sample Count
mbed_official 146:f64d43ff0c18 89 uint8_t RESERVED1 : 1; //!< [7]
mbed_official 146:f64d43ff0c18 90 } B;
mbed_official 146:f64d43ff0c18 91 } hw_cmp_cr0_t;
mbed_official 146:f64d43ff0c18 92 #endif
mbed_official 146:f64d43ff0c18 93
mbed_official 146:f64d43ff0c18 94 /*!
mbed_official 146:f64d43ff0c18 95 * @name Constants and macros for entire CMP_CR0 register
mbed_official 146:f64d43ff0c18 96 */
mbed_official 146:f64d43ff0c18 97 //@{
mbed_official 146:f64d43ff0c18 98 #define HW_CMP_CR0_ADDR(x) (REGS_CMP_BASE(x) + 0x0U)
mbed_official 146:f64d43ff0c18 99
mbed_official 146:f64d43ff0c18 100 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 101 #define HW_CMP_CR0(x) (*(__IO hw_cmp_cr0_t *) HW_CMP_CR0_ADDR(x))
mbed_official 146:f64d43ff0c18 102 #define HW_CMP_CR0_RD(x) (HW_CMP_CR0(x).U)
mbed_official 146:f64d43ff0c18 103 #define HW_CMP_CR0_WR(x, v) (HW_CMP_CR0(x).U = (v))
mbed_official 146:f64d43ff0c18 104 #define HW_CMP_CR0_SET(x, v) (HW_CMP_CR0_WR(x, HW_CMP_CR0_RD(x) | (v)))
mbed_official 146:f64d43ff0c18 105 #define HW_CMP_CR0_CLR(x, v) (HW_CMP_CR0_WR(x, HW_CMP_CR0_RD(x) & ~(v)))
mbed_official 146:f64d43ff0c18 106 #define HW_CMP_CR0_TOG(x, v) (HW_CMP_CR0_WR(x, HW_CMP_CR0_RD(x) ^ (v)))
mbed_official 146:f64d43ff0c18 107 #endif
mbed_official 146:f64d43ff0c18 108 //@}
mbed_official 146:f64d43ff0c18 109
mbed_official 146:f64d43ff0c18 110 /*
mbed_official 146:f64d43ff0c18 111 * Constants & macros for individual CMP_CR0 bitfields
mbed_official 146:f64d43ff0c18 112 */
mbed_official 146:f64d43ff0c18 113
mbed_official 146:f64d43ff0c18 114 /*!
mbed_official 146:f64d43ff0c18 115 * @name Register CMP_CR0, field HYSTCTR[1:0] (RW)
mbed_official 146:f64d43ff0c18 116 *
mbed_official 146:f64d43ff0c18 117 * Defines the programmable hysteresis level. The hysteresis values associated
mbed_official 146:f64d43ff0c18 118 * with each level are device-specific. See the Data Sheet of the device for the
mbed_official 146:f64d43ff0c18 119 * exact values.
mbed_official 146:f64d43ff0c18 120 *
mbed_official 146:f64d43ff0c18 121 * Values:
mbed_official 146:f64d43ff0c18 122 * - 00 - Level 0
mbed_official 146:f64d43ff0c18 123 * - 01 - Level 1
mbed_official 146:f64d43ff0c18 124 * - 10 - Level 2
mbed_official 146:f64d43ff0c18 125 * - 11 - Level 3
mbed_official 146:f64d43ff0c18 126 */
mbed_official 146:f64d43ff0c18 127 //@{
mbed_official 146:f64d43ff0c18 128 #define BP_CMP_CR0_HYSTCTR (0U) //!< Bit position for CMP_CR0_HYSTCTR.
mbed_official 146:f64d43ff0c18 129 #define BM_CMP_CR0_HYSTCTR (0x03U) //!< Bit mask for CMP_CR0_HYSTCTR.
mbed_official 146:f64d43ff0c18 130 #define BS_CMP_CR0_HYSTCTR (2U) //!< Bit field size in bits for CMP_CR0_HYSTCTR.
mbed_official 146:f64d43ff0c18 131
mbed_official 146:f64d43ff0c18 132 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 133 //! @brief Read current value of the CMP_CR0_HYSTCTR field.
mbed_official 146:f64d43ff0c18 134 #define BR_CMP_CR0_HYSTCTR(x) (HW_CMP_CR0(x).B.HYSTCTR)
mbed_official 146:f64d43ff0c18 135 #endif
mbed_official 146:f64d43ff0c18 136
mbed_official 146:f64d43ff0c18 137 //! @brief Format value for bitfield CMP_CR0_HYSTCTR.
mbed_official 146:f64d43ff0c18 138 #define BF_CMP_CR0_HYSTCTR(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR0_HYSTCTR), uint8_t) & BM_CMP_CR0_HYSTCTR)
mbed_official 146:f64d43ff0c18 139
mbed_official 146:f64d43ff0c18 140 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 141 //! @brief Set the HYSTCTR field to a new value.
mbed_official 146:f64d43ff0c18 142 #define BW_CMP_CR0_HYSTCTR(x, v) (HW_CMP_CR0_WR(x, (HW_CMP_CR0_RD(x) & ~BM_CMP_CR0_HYSTCTR) | BF_CMP_CR0_HYSTCTR(v)))
mbed_official 146:f64d43ff0c18 143 #endif
mbed_official 146:f64d43ff0c18 144 //@}
mbed_official 146:f64d43ff0c18 145
mbed_official 146:f64d43ff0c18 146 /*!
mbed_official 146:f64d43ff0c18 147 * @name Register CMP_CR0, field FILTER_CNT[6:4] (RW)
mbed_official 146:f64d43ff0c18 148 *
mbed_official 146:f64d43ff0c18 149 * Represents the number of consecutive samples that must agree prior to the
mbed_official 146:f64d43ff0c18 150 * comparator ouput filter accepting a new output state. For information regarding
mbed_official 146:f64d43ff0c18 151 * filter programming and latency, see the Functional descriptionThe CMP module
mbed_official 146:f64d43ff0c18 152 * can be used to compare two analog input voltages applied to INP and INM. .
mbed_official 146:f64d43ff0c18 153 *
mbed_official 146:f64d43ff0c18 154 * Values:
mbed_official 146:f64d43ff0c18 155 * - 000 - Filter is disabled. If SE = 1, then COUT is a logic 0. This is not a
mbed_official 146:f64d43ff0c18 156 * legal state, and is not recommended. If SE = 0, COUT = COUTA.
mbed_official 146:f64d43ff0c18 157 * - 001 - One sample must agree. The comparator output is simply sampled.
mbed_official 146:f64d43ff0c18 158 * - 010 - 2 consecutive samples must agree.
mbed_official 146:f64d43ff0c18 159 * - 011 - 3 consecutive samples must agree.
mbed_official 146:f64d43ff0c18 160 * - 100 - 4 consecutive samples must agree.
mbed_official 146:f64d43ff0c18 161 * - 101 - 5 consecutive samples must agree.
mbed_official 146:f64d43ff0c18 162 * - 110 - 6 consecutive samples must agree.
mbed_official 146:f64d43ff0c18 163 * - 111 - 7 consecutive samples must agree.
mbed_official 146:f64d43ff0c18 164 */
mbed_official 146:f64d43ff0c18 165 //@{
mbed_official 146:f64d43ff0c18 166 #define BP_CMP_CR0_FILTER_CNT (4U) //!< Bit position for CMP_CR0_FILTER_CNT.
mbed_official 146:f64d43ff0c18 167 #define BM_CMP_CR0_FILTER_CNT (0x70U) //!< Bit mask for CMP_CR0_FILTER_CNT.
mbed_official 146:f64d43ff0c18 168 #define BS_CMP_CR0_FILTER_CNT (3U) //!< Bit field size in bits for CMP_CR0_FILTER_CNT.
mbed_official 146:f64d43ff0c18 169
mbed_official 146:f64d43ff0c18 170 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 171 //! @brief Read current value of the CMP_CR0_FILTER_CNT field.
mbed_official 146:f64d43ff0c18 172 #define BR_CMP_CR0_FILTER_CNT(x) (HW_CMP_CR0(x).B.FILTER_CNT)
mbed_official 146:f64d43ff0c18 173 #endif
mbed_official 146:f64d43ff0c18 174
mbed_official 146:f64d43ff0c18 175 //! @brief Format value for bitfield CMP_CR0_FILTER_CNT.
mbed_official 146:f64d43ff0c18 176 #define BF_CMP_CR0_FILTER_CNT(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR0_FILTER_CNT), uint8_t) & BM_CMP_CR0_FILTER_CNT)
mbed_official 146:f64d43ff0c18 177
mbed_official 146:f64d43ff0c18 178 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 179 //! @brief Set the FILTER_CNT field to a new value.
mbed_official 146:f64d43ff0c18 180 #define BW_CMP_CR0_FILTER_CNT(x, v) (HW_CMP_CR0_WR(x, (HW_CMP_CR0_RD(x) & ~BM_CMP_CR0_FILTER_CNT) | BF_CMP_CR0_FILTER_CNT(v)))
mbed_official 146:f64d43ff0c18 181 #endif
mbed_official 146:f64d43ff0c18 182 //@}
mbed_official 146:f64d43ff0c18 183
mbed_official 146:f64d43ff0c18 184 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 185 // HW_CMP_CR1 - CMP Control Register 1
mbed_official 146:f64d43ff0c18 186 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 187
mbed_official 146:f64d43ff0c18 188 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 189 /*!
mbed_official 146:f64d43ff0c18 190 * @brief HW_CMP_CR1 - CMP Control Register 1 (RW)
mbed_official 146:f64d43ff0c18 191 *
mbed_official 146:f64d43ff0c18 192 * Reset value: 0x00U
mbed_official 146:f64d43ff0c18 193 */
mbed_official 146:f64d43ff0c18 194 typedef union _hw_cmp_cr1
mbed_official 146:f64d43ff0c18 195 {
mbed_official 146:f64d43ff0c18 196 uint8_t U;
mbed_official 146:f64d43ff0c18 197 struct _hw_cmp_cr1_bitfields
mbed_official 146:f64d43ff0c18 198 {
mbed_official 146:f64d43ff0c18 199 uint8_t EN : 1; //!< [0] Comparator Module Enable
mbed_official 146:f64d43ff0c18 200 uint8_t OPE : 1; //!< [1] Comparator Output Pin Enable
mbed_official 146:f64d43ff0c18 201 uint8_t COS : 1; //!< [2] Comparator Output Select
mbed_official 146:f64d43ff0c18 202 uint8_t INV : 1; //!< [3] Comparator INVERT
mbed_official 146:f64d43ff0c18 203 uint8_t PMODE : 1; //!< [4] Power Mode Select
mbed_official 146:f64d43ff0c18 204 uint8_t RESERVED0 : 1; //!< [5]
mbed_official 146:f64d43ff0c18 205 uint8_t WE : 1; //!< [6] Windowing Enable
mbed_official 146:f64d43ff0c18 206 uint8_t SE : 1; //!< [7] Sample Enable
mbed_official 146:f64d43ff0c18 207 } B;
mbed_official 146:f64d43ff0c18 208 } hw_cmp_cr1_t;
mbed_official 146:f64d43ff0c18 209 #endif
mbed_official 146:f64d43ff0c18 210
mbed_official 146:f64d43ff0c18 211 /*!
mbed_official 146:f64d43ff0c18 212 * @name Constants and macros for entire CMP_CR1 register
mbed_official 146:f64d43ff0c18 213 */
mbed_official 146:f64d43ff0c18 214 //@{
mbed_official 146:f64d43ff0c18 215 #define HW_CMP_CR1_ADDR(x) (REGS_CMP_BASE(x) + 0x1U)
mbed_official 146:f64d43ff0c18 216
mbed_official 146:f64d43ff0c18 217 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 218 #define HW_CMP_CR1(x) (*(__IO hw_cmp_cr1_t *) HW_CMP_CR1_ADDR(x))
mbed_official 146:f64d43ff0c18 219 #define HW_CMP_CR1_RD(x) (HW_CMP_CR1(x).U)
mbed_official 146:f64d43ff0c18 220 #define HW_CMP_CR1_WR(x, v) (HW_CMP_CR1(x).U = (v))
mbed_official 146:f64d43ff0c18 221 #define HW_CMP_CR1_SET(x, v) (HW_CMP_CR1_WR(x, HW_CMP_CR1_RD(x) | (v)))
mbed_official 146:f64d43ff0c18 222 #define HW_CMP_CR1_CLR(x, v) (HW_CMP_CR1_WR(x, HW_CMP_CR1_RD(x) & ~(v)))
mbed_official 146:f64d43ff0c18 223 #define HW_CMP_CR1_TOG(x, v) (HW_CMP_CR1_WR(x, HW_CMP_CR1_RD(x) ^ (v)))
mbed_official 146:f64d43ff0c18 224 #endif
mbed_official 146:f64d43ff0c18 225 //@}
mbed_official 146:f64d43ff0c18 226
mbed_official 146:f64d43ff0c18 227 /*
mbed_official 146:f64d43ff0c18 228 * Constants & macros for individual CMP_CR1 bitfields
mbed_official 146:f64d43ff0c18 229 */
mbed_official 146:f64d43ff0c18 230
mbed_official 146:f64d43ff0c18 231 /*!
mbed_official 146:f64d43ff0c18 232 * @name Register CMP_CR1, field EN[0] (RW)
mbed_official 146:f64d43ff0c18 233 *
mbed_official 146:f64d43ff0c18 234 * Enables the Analog Comparator module. When the module is not enabled, it
mbed_official 146:f64d43ff0c18 235 * remains in the off state, and consumes no power. When the user selects the same
mbed_official 146:f64d43ff0c18 236 * input from analog mux to the positive and negative port, the comparator is
mbed_official 146:f64d43ff0c18 237 * disabled automatically.
mbed_official 146:f64d43ff0c18 238 *
mbed_official 146:f64d43ff0c18 239 * Values:
mbed_official 146:f64d43ff0c18 240 * - 0 - Analog Comparator is disabled.
mbed_official 146:f64d43ff0c18 241 * - 1 - Analog Comparator is enabled.
mbed_official 146:f64d43ff0c18 242 */
mbed_official 146:f64d43ff0c18 243 //@{
mbed_official 146:f64d43ff0c18 244 #define BP_CMP_CR1_EN (0U) //!< Bit position for CMP_CR1_EN.
mbed_official 146:f64d43ff0c18 245 #define BM_CMP_CR1_EN (0x01U) //!< Bit mask for CMP_CR1_EN.
mbed_official 146:f64d43ff0c18 246 #define BS_CMP_CR1_EN (1U) //!< Bit field size in bits for CMP_CR1_EN.
mbed_official 146:f64d43ff0c18 247
mbed_official 146:f64d43ff0c18 248 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 249 //! @brief Read current value of the CMP_CR1_EN field.
mbed_official 146:f64d43ff0c18 250 #define BR_CMP_CR1_EN(x) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_EN))
mbed_official 146:f64d43ff0c18 251 #endif
mbed_official 146:f64d43ff0c18 252
mbed_official 146:f64d43ff0c18 253 //! @brief Format value for bitfield CMP_CR1_EN.
mbed_official 146:f64d43ff0c18 254 #define BF_CMP_CR1_EN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR1_EN), uint8_t) & BM_CMP_CR1_EN)
mbed_official 146:f64d43ff0c18 255
mbed_official 146:f64d43ff0c18 256 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 257 //! @brief Set the EN field to a new value.
mbed_official 146:f64d43ff0c18 258 #define BW_CMP_CR1_EN(x, v) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_EN) = (v))
mbed_official 146:f64d43ff0c18 259 #endif
mbed_official 146:f64d43ff0c18 260 //@}
mbed_official 146:f64d43ff0c18 261
mbed_official 146:f64d43ff0c18 262 /*!
mbed_official 146:f64d43ff0c18 263 * @name Register CMP_CR1, field OPE[1] (RW)
mbed_official 146:f64d43ff0c18 264 *
mbed_official 146:f64d43ff0c18 265 * Values:
mbed_official 146:f64d43ff0c18 266 * - 0 - CMPO is not available on the associated CMPO output pin. If the
mbed_official 146:f64d43ff0c18 267 * comparator does not own the pin, this field has no effect.
mbed_official 146:f64d43ff0c18 268 * - 1 - CMPO is available on the associated CMPO output pin. The comparator
mbed_official 146:f64d43ff0c18 269 * output (CMPO) is driven out on the associated CMPO output pin if the
mbed_official 146:f64d43ff0c18 270 * comparator owns the pin. If the comparator does not own the field, this bit has no
mbed_official 146:f64d43ff0c18 271 * effect.
mbed_official 146:f64d43ff0c18 272 */
mbed_official 146:f64d43ff0c18 273 //@{
mbed_official 146:f64d43ff0c18 274 #define BP_CMP_CR1_OPE (1U) //!< Bit position for CMP_CR1_OPE.
mbed_official 146:f64d43ff0c18 275 #define BM_CMP_CR1_OPE (0x02U) //!< Bit mask for CMP_CR1_OPE.
mbed_official 146:f64d43ff0c18 276 #define BS_CMP_CR1_OPE (1U) //!< Bit field size in bits for CMP_CR1_OPE.
mbed_official 146:f64d43ff0c18 277
mbed_official 146:f64d43ff0c18 278 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 279 //! @brief Read current value of the CMP_CR1_OPE field.
mbed_official 146:f64d43ff0c18 280 #define BR_CMP_CR1_OPE(x) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_OPE))
mbed_official 146:f64d43ff0c18 281 #endif
mbed_official 146:f64d43ff0c18 282
mbed_official 146:f64d43ff0c18 283 //! @brief Format value for bitfield CMP_CR1_OPE.
mbed_official 146:f64d43ff0c18 284 #define BF_CMP_CR1_OPE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR1_OPE), uint8_t) & BM_CMP_CR1_OPE)
mbed_official 146:f64d43ff0c18 285
mbed_official 146:f64d43ff0c18 286 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 287 //! @brief Set the OPE field to a new value.
mbed_official 146:f64d43ff0c18 288 #define BW_CMP_CR1_OPE(x, v) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_OPE) = (v))
mbed_official 146:f64d43ff0c18 289 #endif
mbed_official 146:f64d43ff0c18 290 //@}
mbed_official 146:f64d43ff0c18 291
mbed_official 146:f64d43ff0c18 292 /*!
mbed_official 146:f64d43ff0c18 293 * @name Register CMP_CR1, field COS[2] (RW)
mbed_official 146:f64d43ff0c18 294 *
mbed_official 146:f64d43ff0c18 295 * Values:
mbed_official 146:f64d43ff0c18 296 * - 0 - Set the filtered comparator output (CMPO) to equal COUT.
mbed_official 146:f64d43ff0c18 297 * - 1 - Set the unfiltered comparator output (CMPO) to equal COUTA.
mbed_official 146:f64d43ff0c18 298 */
mbed_official 146:f64d43ff0c18 299 //@{
mbed_official 146:f64d43ff0c18 300 #define BP_CMP_CR1_COS (2U) //!< Bit position for CMP_CR1_COS.
mbed_official 146:f64d43ff0c18 301 #define BM_CMP_CR1_COS (0x04U) //!< Bit mask for CMP_CR1_COS.
mbed_official 146:f64d43ff0c18 302 #define BS_CMP_CR1_COS (1U) //!< Bit field size in bits for CMP_CR1_COS.
mbed_official 146:f64d43ff0c18 303
mbed_official 146:f64d43ff0c18 304 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 305 //! @brief Read current value of the CMP_CR1_COS field.
mbed_official 146:f64d43ff0c18 306 #define BR_CMP_CR1_COS(x) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_COS))
mbed_official 146:f64d43ff0c18 307 #endif
mbed_official 146:f64d43ff0c18 308
mbed_official 146:f64d43ff0c18 309 //! @brief Format value for bitfield CMP_CR1_COS.
mbed_official 146:f64d43ff0c18 310 #define BF_CMP_CR1_COS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR1_COS), uint8_t) & BM_CMP_CR1_COS)
mbed_official 146:f64d43ff0c18 311
mbed_official 146:f64d43ff0c18 312 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 313 //! @brief Set the COS field to a new value.
mbed_official 146:f64d43ff0c18 314 #define BW_CMP_CR1_COS(x, v) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_COS) = (v))
mbed_official 146:f64d43ff0c18 315 #endif
mbed_official 146:f64d43ff0c18 316 //@}
mbed_official 146:f64d43ff0c18 317
mbed_official 146:f64d43ff0c18 318 /*!
mbed_official 146:f64d43ff0c18 319 * @name Register CMP_CR1, field INV[3] (RW)
mbed_official 146:f64d43ff0c18 320 *
mbed_official 146:f64d43ff0c18 321 * Allows selection of the polarity of the analog comparator function. It is
mbed_official 146:f64d43ff0c18 322 * also driven to the COUT output, on both the device pin and as SCR[COUT], when
mbed_official 146:f64d43ff0c18 323 * OPE=0.
mbed_official 146:f64d43ff0c18 324 *
mbed_official 146:f64d43ff0c18 325 * Values:
mbed_official 146:f64d43ff0c18 326 * - 0 - Does not invert the comparator output.
mbed_official 146:f64d43ff0c18 327 * - 1 - Inverts the comparator output.
mbed_official 146:f64d43ff0c18 328 */
mbed_official 146:f64d43ff0c18 329 //@{
mbed_official 146:f64d43ff0c18 330 #define BP_CMP_CR1_INV (3U) //!< Bit position for CMP_CR1_INV.
mbed_official 146:f64d43ff0c18 331 #define BM_CMP_CR1_INV (0x08U) //!< Bit mask for CMP_CR1_INV.
mbed_official 146:f64d43ff0c18 332 #define BS_CMP_CR1_INV (1U) //!< Bit field size in bits for CMP_CR1_INV.
mbed_official 146:f64d43ff0c18 333
mbed_official 146:f64d43ff0c18 334 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 335 //! @brief Read current value of the CMP_CR1_INV field.
mbed_official 146:f64d43ff0c18 336 #define BR_CMP_CR1_INV(x) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_INV))
mbed_official 146:f64d43ff0c18 337 #endif
mbed_official 146:f64d43ff0c18 338
mbed_official 146:f64d43ff0c18 339 //! @brief Format value for bitfield CMP_CR1_INV.
mbed_official 146:f64d43ff0c18 340 #define BF_CMP_CR1_INV(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR1_INV), uint8_t) & BM_CMP_CR1_INV)
mbed_official 146:f64d43ff0c18 341
mbed_official 146:f64d43ff0c18 342 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 343 //! @brief Set the INV field to a new value.
mbed_official 146:f64d43ff0c18 344 #define BW_CMP_CR1_INV(x, v) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_INV) = (v))
mbed_official 146:f64d43ff0c18 345 #endif
mbed_official 146:f64d43ff0c18 346 //@}
mbed_official 146:f64d43ff0c18 347
mbed_official 146:f64d43ff0c18 348 /*!
mbed_official 146:f64d43ff0c18 349 * @name Register CMP_CR1, field PMODE[4] (RW)
mbed_official 146:f64d43ff0c18 350 *
mbed_official 146:f64d43ff0c18 351 * See the electrical specifications table in the device Data Sheet for details.
mbed_official 146:f64d43ff0c18 352 *
mbed_official 146:f64d43ff0c18 353 * Values:
mbed_official 146:f64d43ff0c18 354 * - 0 - Low-Speed (LS) Comparison mode selected. In this mode, CMP has slower
mbed_official 146:f64d43ff0c18 355 * output propagation delay and lower current consumption.
mbed_official 146:f64d43ff0c18 356 * - 1 - High-Speed (HS) Comparison mode selected. In this mode, CMP has faster
mbed_official 146:f64d43ff0c18 357 * output propagation delay and higher current consumption.
mbed_official 146:f64d43ff0c18 358 */
mbed_official 146:f64d43ff0c18 359 //@{
mbed_official 146:f64d43ff0c18 360 #define BP_CMP_CR1_PMODE (4U) //!< Bit position for CMP_CR1_PMODE.
mbed_official 146:f64d43ff0c18 361 #define BM_CMP_CR1_PMODE (0x10U) //!< Bit mask for CMP_CR1_PMODE.
mbed_official 146:f64d43ff0c18 362 #define BS_CMP_CR1_PMODE (1U) //!< Bit field size in bits for CMP_CR1_PMODE.
mbed_official 146:f64d43ff0c18 363
mbed_official 146:f64d43ff0c18 364 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 365 //! @brief Read current value of the CMP_CR1_PMODE field.
mbed_official 146:f64d43ff0c18 366 #define BR_CMP_CR1_PMODE(x) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_PMODE))
mbed_official 146:f64d43ff0c18 367 #endif
mbed_official 146:f64d43ff0c18 368
mbed_official 146:f64d43ff0c18 369 //! @brief Format value for bitfield CMP_CR1_PMODE.
mbed_official 146:f64d43ff0c18 370 #define BF_CMP_CR1_PMODE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR1_PMODE), uint8_t) & BM_CMP_CR1_PMODE)
mbed_official 146:f64d43ff0c18 371
mbed_official 146:f64d43ff0c18 372 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 373 //! @brief Set the PMODE field to a new value.
mbed_official 146:f64d43ff0c18 374 #define BW_CMP_CR1_PMODE(x, v) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_PMODE) = (v))
mbed_official 146:f64d43ff0c18 375 #endif
mbed_official 146:f64d43ff0c18 376 //@}
mbed_official 146:f64d43ff0c18 377
mbed_official 146:f64d43ff0c18 378 /*!
mbed_official 146:f64d43ff0c18 379 * @name Register CMP_CR1, field WE[6] (RW)
mbed_official 146:f64d43ff0c18 380 *
mbed_official 146:f64d43ff0c18 381 * At any given time, either SE or WE can be set. If a write to this register
mbed_official 146:f64d43ff0c18 382 * attempts to set both, then SE is set and WE is cleared. However, avoid writing
mbed_official 146:f64d43ff0c18 383 * 1s to both field locations because this "11" case is reserved and may change in
mbed_official 146:f64d43ff0c18 384 * future implementations.
mbed_official 146:f64d43ff0c18 385 *
mbed_official 146:f64d43ff0c18 386 * Values:
mbed_official 146:f64d43ff0c18 387 * - 0 - Windowing mode is not selected.
mbed_official 146:f64d43ff0c18 388 * - 1 - Windowing mode is selected.
mbed_official 146:f64d43ff0c18 389 */
mbed_official 146:f64d43ff0c18 390 //@{
mbed_official 146:f64d43ff0c18 391 #define BP_CMP_CR1_WE (6U) //!< Bit position for CMP_CR1_WE.
mbed_official 146:f64d43ff0c18 392 #define BM_CMP_CR1_WE (0x40U) //!< Bit mask for CMP_CR1_WE.
mbed_official 146:f64d43ff0c18 393 #define BS_CMP_CR1_WE (1U) //!< Bit field size in bits for CMP_CR1_WE.
mbed_official 146:f64d43ff0c18 394
mbed_official 146:f64d43ff0c18 395 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 396 //! @brief Read current value of the CMP_CR1_WE field.
mbed_official 146:f64d43ff0c18 397 #define BR_CMP_CR1_WE(x) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_WE))
mbed_official 146:f64d43ff0c18 398 #endif
mbed_official 146:f64d43ff0c18 399
mbed_official 146:f64d43ff0c18 400 //! @brief Format value for bitfield CMP_CR1_WE.
mbed_official 146:f64d43ff0c18 401 #define BF_CMP_CR1_WE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR1_WE), uint8_t) & BM_CMP_CR1_WE)
mbed_official 146:f64d43ff0c18 402
mbed_official 146:f64d43ff0c18 403 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 404 //! @brief Set the WE field to a new value.
mbed_official 146:f64d43ff0c18 405 #define BW_CMP_CR1_WE(x, v) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_WE) = (v))
mbed_official 146:f64d43ff0c18 406 #endif
mbed_official 146:f64d43ff0c18 407 //@}
mbed_official 146:f64d43ff0c18 408
mbed_official 146:f64d43ff0c18 409 /*!
mbed_official 146:f64d43ff0c18 410 * @name Register CMP_CR1, field SE[7] (RW)
mbed_official 146:f64d43ff0c18 411 *
mbed_official 146:f64d43ff0c18 412 * At any given time, either SE or WE can be set. If a write to this register
mbed_official 146:f64d43ff0c18 413 * attempts to set both, then SE is set and WE is cleared. However, avoid writing
mbed_official 146:f64d43ff0c18 414 * 1s to both field locations because this "11" case is reserved and may change in
mbed_official 146:f64d43ff0c18 415 * future implementations.
mbed_official 146:f64d43ff0c18 416 *
mbed_official 146:f64d43ff0c18 417 * Values:
mbed_official 146:f64d43ff0c18 418 * - 0 - Sampling mode is not selected.
mbed_official 146:f64d43ff0c18 419 * - 1 - Sampling mode is selected.
mbed_official 146:f64d43ff0c18 420 */
mbed_official 146:f64d43ff0c18 421 //@{
mbed_official 146:f64d43ff0c18 422 #define BP_CMP_CR1_SE (7U) //!< Bit position for CMP_CR1_SE.
mbed_official 146:f64d43ff0c18 423 #define BM_CMP_CR1_SE (0x80U) //!< Bit mask for CMP_CR1_SE.
mbed_official 146:f64d43ff0c18 424 #define BS_CMP_CR1_SE (1U) //!< Bit field size in bits for CMP_CR1_SE.
mbed_official 146:f64d43ff0c18 425
mbed_official 146:f64d43ff0c18 426 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 427 //! @brief Read current value of the CMP_CR1_SE field.
mbed_official 146:f64d43ff0c18 428 #define BR_CMP_CR1_SE(x) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_SE))
mbed_official 146:f64d43ff0c18 429 #endif
mbed_official 146:f64d43ff0c18 430
mbed_official 146:f64d43ff0c18 431 //! @brief Format value for bitfield CMP_CR1_SE.
mbed_official 146:f64d43ff0c18 432 #define BF_CMP_CR1_SE(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_CR1_SE), uint8_t) & BM_CMP_CR1_SE)
mbed_official 146:f64d43ff0c18 433
mbed_official 146:f64d43ff0c18 434 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 435 //! @brief Set the SE field to a new value.
mbed_official 146:f64d43ff0c18 436 #define BW_CMP_CR1_SE(x, v) (BITBAND_ACCESS8(HW_CMP_CR1_ADDR(x), BP_CMP_CR1_SE) = (v))
mbed_official 146:f64d43ff0c18 437 #endif
mbed_official 146:f64d43ff0c18 438 //@}
mbed_official 146:f64d43ff0c18 439
mbed_official 146:f64d43ff0c18 440 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 441 // HW_CMP_FPR - CMP Filter Period Register
mbed_official 146:f64d43ff0c18 442 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 443
mbed_official 146:f64d43ff0c18 444 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 445 /*!
mbed_official 146:f64d43ff0c18 446 * @brief HW_CMP_FPR - CMP Filter Period Register (RW)
mbed_official 146:f64d43ff0c18 447 *
mbed_official 146:f64d43ff0c18 448 * Reset value: 0x00U
mbed_official 146:f64d43ff0c18 449 */
mbed_official 146:f64d43ff0c18 450 typedef union _hw_cmp_fpr
mbed_official 146:f64d43ff0c18 451 {
mbed_official 146:f64d43ff0c18 452 uint8_t U;
mbed_official 146:f64d43ff0c18 453 struct _hw_cmp_fpr_bitfields
mbed_official 146:f64d43ff0c18 454 {
mbed_official 146:f64d43ff0c18 455 uint8_t FILT_PER : 8; //!< [7:0] Filter Sample Period
mbed_official 146:f64d43ff0c18 456 } B;
mbed_official 146:f64d43ff0c18 457 } hw_cmp_fpr_t;
mbed_official 146:f64d43ff0c18 458 #endif
mbed_official 146:f64d43ff0c18 459
mbed_official 146:f64d43ff0c18 460 /*!
mbed_official 146:f64d43ff0c18 461 * @name Constants and macros for entire CMP_FPR register
mbed_official 146:f64d43ff0c18 462 */
mbed_official 146:f64d43ff0c18 463 //@{
mbed_official 146:f64d43ff0c18 464 #define HW_CMP_FPR_ADDR(x) (REGS_CMP_BASE(x) + 0x2U)
mbed_official 146:f64d43ff0c18 465
mbed_official 146:f64d43ff0c18 466 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 467 #define HW_CMP_FPR(x) (*(__IO hw_cmp_fpr_t *) HW_CMP_FPR_ADDR(x))
mbed_official 146:f64d43ff0c18 468 #define HW_CMP_FPR_RD(x) (HW_CMP_FPR(x).U)
mbed_official 146:f64d43ff0c18 469 #define HW_CMP_FPR_WR(x, v) (HW_CMP_FPR(x).U = (v))
mbed_official 146:f64d43ff0c18 470 #define HW_CMP_FPR_SET(x, v) (HW_CMP_FPR_WR(x, HW_CMP_FPR_RD(x) | (v)))
mbed_official 146:f64d43ff0c18 471 #define HW_CMP_FPR_CLR(x, v) (HW_CMP_FPR_WR(x, HW_CMP_FPR_RD(x) & ~(v)))
mbed_official 146:f64d43ff0c18 472 #define HW_CMP_FPR_TOG(x, v) (HW_CMP_FPR_WR(x, HW_CMP_FPR_RD(x) ^ (v)))
mbed_official 146:f64d43ff0c18 473 #endif
mbed_official 146:f64d43ff0c18 474 //@}
mbed_official 146:f64d43ff0c18 475
mbed_official 146:f64d43ff0c18 476 /*
mbed_official 146:f64d43ff0c18 477 * Constants & macros for individual CMP_FPR bitfields
mbed_official 146:f64d43ff0c18 478 */
mbed_official 146:f64d43ff0c18 479
mbed_official 146:f64d43ff0c18 480 /*!
mbed_official 146:f64d43ff0c18 481 * @name Register CMP_FPR, field FILT_PER[7:0] (RW)
mbed_official 146:f64d43ff0c18 482 *
mbed_official 146:f64d43ff0c18 483 * Specifies the sampling period, in bus clock cycles, of the comparator output
mbed_official 146:f64d43ff0c18 484 * filter, when CR1[SE]=0. Setting FILT_PER to 0x0 disables the filter. Filter
mbed_official 146:f64d43ff0c18 485 * programming and latency details appear in the Functional descriptionThe CMP
mbed_official 146:f64d43ff0c18 486 * module can be used to compare two analog input voltages applied to INP and INM. .
mbed_official 146:f64d43ff0c18 487 * This field has no effect when CR1[SE]=1. In that case, the external SAMPLE
mbed_official 146:f64d43ff0c18 488 * signal is used to determine the sampling period.
mbed_official 146:f64d43ff0c18 489 */
mbed_official 146:f64d43ff0c18 490 //@{
mbed_official 146:f64d43ff0c18 491 #define BP_CMP_FPR_FILT_PER (0U) //!< Bit position for CMP_FPR_FILT_PER.
mbed_official 146:f64d43ff0c18 492 #define BM_CMP_FPR_FILT_PER (0xFFU) //!< Bit mask for CMP_FPR_FILT_PER.
mbed_official 146:f64d43ff0c18 493 #define BS_CMP_FPR_FILT_PER (8U) //!< Bit field size in bits for CMP_FPR_FILT_PER.
mbed_official 146:f64d43ff0c18 494
mbed_official 146:f64d43ff0c18 495 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 496 //! @brief Read current value of the CMP_FPR_FILT_PER field.
mbed_official 146:f64d43ff0c18 497 #define BR_CMP_FPR_FILT_PER(x) (HW_CMP_FPR(x).U)
mbed_official 146:f64d43ff0c18 498 #endif
mbed_official 146:f64d43ff0c18 499
mbed_official 146:f64d43ff0c18 500 //! @brief Format value for bitfield CMP_FPR_FILT_PER.
mbed_official 146:f64d43ff0c18 501 #define BF_CMP_FPR_FILT_PER(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_FPR_FILT_PER), uint8_t) & BM_CMP_FPR_FILT_PER)
mbed_official 146:f64d43ff0c18 502
mbed_official 146:f64d43ff0c18 503 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 504 //! @brief Set the FILT_PER field to a new value.
mbed_official 146:f64d43ff0c18 505 #define BW_CMP_FPR_FILT_PER(x, v) (HW_CMP_FPR_WR(x, v))
mbed_official 146:f64d43ff0c18 506 #endif
mbed_official 146:f64d43ff0c18 507 //@}
mbed_official 146:f64d43ff0c18 508
mbed_official 146:f64d43ff0c18 509 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 510 // HW_CMP_SCR - CMP Status and Control Register
mbed_official 146:f64d43ff0c18 511 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 512
mbed_official 146:f64d43ff0c18 513 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 514 /*!
mbed_official 146:f64d43ff0c18 515 * @brief HW_CMP_SCR - CMP Status and Control Register (RW)
mbed_official 146:f64d43ff0c18 516 *
mbed_official 146:f64d43ff0c18 517 * Reset value: 0x00U
mbed_official 146:f64d43ff0c18 518 */
mbed_official 146:f64d43ff0c18 519 typedef union _hw_cmp_scr
mbed_official 146:f64d43ff0c18 520 {
mbed_official 146:f64d43ff0c18 521 uint8_t U;
mbed_official 146:f64d43ff0c18 522 struct _hw_cmp_scr_bitfields
mbed_official 146:f64d43ff0c18 523 {
mbed_official 146:f64d43ff0c18 524 uint8_t COUT : 1; //!< [0] Analog Comparator Output
mbed_official 146:f64d43ff0c18 525 uint8_t CFF : 1; //!< [1] Analog Comparator Flag Falling
mbed_official 146:f64d43ff0c18 526 uint8_t CFR : 1; //!< [2] Analog Comparator Flag Rising
mbed_official 146:f64d43ff0c18 527 uint8_t IEF : 1; //!< [3] Comparator Interrupt Enable Falling
mbed_official 146:f64d43ff0c18 528 uint8_t IER : 1; //!< [4] Comparator Interrupt Enable Rising
mbed_official 146:f64d43ff0c18 529 uint8_t RESERVED0 : 1; //!< [5]
mbed_official 146:f64d43ff0c18 530 uint8_t DMAEN : 1; //!< [6] DMA Enable Control
mbed_official 146:f64d43ff0c18 531 uint8_t RESERVED1 : 1; //!< [7]
mbed_official 146:f64d43ff0c18 532 } B;
mbed_official 146:f64d43ff0c18 533 } hw_cmp_scr_t;
mbed_official 146:f64d43ff0c18 534 #endif
mbed_official 146:f64d43ff0c18 535
mbed_official 146:f64d43ff0c18 536 /*!
mbed_official 146:f64d43ff0c18 537 * @name Constants and macros for entire CMP_SCR register
mbed_official 146:f64d43ff0c18 538 */
mbed_official 146:f64d43ff0c18 539 //@{
mbed_official 146:f64d43ff0c18 540 #define HW_CMP_SCR_ADDR(x) (REGS_CMP_BASE(x) + 0x3U)
mbed_official 146:f64d43ff0c18 541
mbed_official 146:f64d43ff0c18 542 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 543 #define HW_CMP_SCR(x) (*(__IO hw_cmp_scr_t *) HW_CMP_SCR_ADDR(x))
mbed_official 146:f64d43ff0c18 544 #define HW_CMP_SCR_RD(x) (HW_CMP_SCR(x).U)
mbed_official 146:f64d43ff0c18 545 #define HW_CMP_SCR_WR(x, v) (HW_CMP_SCR(x).U = (v))
mbed_official 146:f64d43ff0c18 546 #define HW_CMP_SCR_SET(x, v) (HW_CMP_SCR_WR(x, HW_CMP_SCR_RD(x) | (v)))
mbed_official 146:f64d43ff0c18 547 #define HW_CMP_SCR_CLR(x, v) (HW_CMP_SCR_WR(x, HW_CMP_SCR_RD(x) & ~(v)))
mbed_official 146:f64d43ff0c18 548 #define HW_CMP_SCR_TOG(x, v) (HW_CMP_SCR_WR(x, HW_CMP_SCR_RD(x) ^ (v)))
mbed_official 146:f64d43ff0c18 549 #endif
mbed_official 146:f64d43ff0c18 550 //@}
mbed_official 146:f64d43ff0c18 551
mbed_official 146:f64d43ff0c18 552 /*
mbed_official 146:f64d43ff0c18 553 * Constants & macros for individual CMP_SCR bitfields
mbed_official 146:f64d43ff0c18 554 */
mbed_official 146:f64d43ff0c18 555
mbed_official 146:f64d43ff0c18 556 /*!
mbed_official 146:f64d43ff0c18 557 * @name Register CMP_SCR, field COUT[0] (RO)
mbed_official 146:f64d43ff0c18 558 *
mbed_official 146:f64d43ff0c18 559 * Returns the current value of the Analog Comparator output, when read. The
mbed_official 146:f64d43ff0c18 560 * field is reset to 0 and will read as CR1[INV] when the Analog Comparator module
mbed_official 146:f64d43ff0c18 561 * is disabled, that is, when CR1[EN] = 0. Writes to this field are ignored.
mbed_official 146:f64d43ff0c18 562 */
mbed_official 146:f64d43ff0c18 563 //@{
mbed_official 146:f64d43ff0c18 564 #define BP_CMP_SCR_COUT (0U) //!< Bit position for CMP_SCR_COUT.
mbed_official 146:f64d43ff0c18 565 #define BM_CMP_SCR_COUT (0x01U) //!< Bit mask for CMP_SCR_COUT.
mbed_official 146:f64d43ff0c18 566 #define BS_CMP_SCR_COUT (1U) //!< Bit field size in bits for CMP_SCR_COUT.
mbed_official 146:f64d43ff0c18 567
mbed_official 146:f64d43ff0c18 568 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 569 //! @brief Read current value of the CMP_SCR_COUT field.
mbed_official 146:f64d43ff0c18 570 #define BR_CMP_SCR_COUT(x) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_COUT))
mbed_official 146:f64d43ff0c18 571 #endif
mbed_official 146:f64d43ff0c18 572 //@}
mbed_official 146:f64d43ff0c18 573
mbed_official 146:f64d43ff0c18 574 /*!
mbed_official 146:f64d43ff0c18 575 * @name Register CMP_SCR, field CFF[1] (W1C)
mbed_official 146:f64d43ff0c18 576 *
mbed_official 146:f64d43ff0c18 577 * Detects a falling-edge on COUT, when set, during normal operation. CFF is
mbed_official 146:f64d43ff0c18 578 * cleared by writing 1 to it. During Stop modes, CFF is level sensitive is edge
mbed_official 146:f64d43ff0c18 579 * sensitive .
mbed_official 146:f64d43ff0c18 580 *
mbed_official 146:f64d43ff0c18 581 * Values:
mbed_official 146:f64d43ff0c18 582 * - 0 - Falling-edge on COUT has not been detected.
mbed_official 146:f64d43ff0c18 583 * - 1 - Falling-edge on COUT has occurred.
mbed_official 146:f64d43ff0c18 584 */
mbed_official 146:f64d43ff0c18 585 //@{
mbed_official 146:f64d43ff0c18 586 #define BP_CMP_SCR_CFF (1U) //!< Bit position for CMP_SCR_CFF.
mbed_official 146:f64d43ff0c18 587 #define BM_CMP_SCR_CFF (0x02U) //!< Bit mask for CMP_SCR_CFF.
mbed_official 146:f64d43ff0c18 588 #define BS_CMP_SCR_CFF (1U) //!< Bit field size in bits for CMP_SCR_CFF.
mbed_official 146:f64d43ff0c18 589
mbed_official 146:f64d43ff0c18 590 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 591 //! @brief Read current value of the CMP_SCR_CFF field.
mbed_official 146:f64d43ff0c18 592 #define BR_CMP_SCR_CFF(x) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_CFF))
mbed_official 146:f64d43ff0c18 593 #endif
mbed_official 146:f64d43ff0c18 594
mbed_official 146:f64d43ff0c18 595 //! @brief Format value for bitfield CMP_SCR_CFF.
mbed_official 146:f64d43ff0c18 596 #define BF_CMP_SCR_CFF(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_SCR_CFF), uint8_t) & BM_CMP_SCR_CFF)
mbed_official 146:f64d43ff0c18 597
mbed_official 146:f64d43ff0c18 598 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 599 //! @brief Set the CFF field to a new value.
mbed_official 146:f64d43ff0c18 600 #define BW_CMP_SCR_CFF(x, v) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_CFF) = (v))
mbed_official 146:f64d43ff0c18 601 #endif
mbed_official 146:f64d43ff0c18 602 //@}
mbed_official 146:f64d43ff0c18 603
mbed_official 146:f64d43ff0c18 604 /*!
mbed_official 146:f64d43ff0c18 605 * @name Register CMP_SCR, field CFR[2] (W1C)
mbed_official 146:f64d43ff0c18 606 *
mbed_official 146:f64d43ff0c18 607 * Detects a rising-edge on COUT, when set, during normal operation. CFR is
mbed_official 146:f64d43ff0c18 608 * cleared by writing 1 to it. During Stop modes, CFR is level sensitive is edge
mbed_official 146:f64d43ff0c18 609 * sensitive .
mbed_official 146:f64d43ff0c18 610 *
mbed_official 146:f64d43ff0c18 611 * Values:
mbed_official 146:f64d43ff0c18 612 * - 0 - Rising-edge on COUT has not been detected.
mbed_official 146:f64d43ff0c18 613 * - 1 - Rising-edge on COUT has occurred.
mbed_official 146:f64d43ff0c18 614 */
mbed_official 146:f64d43ff0c18 615 //@{
mbed_official 146:f64d43ff0c18 616 #define BP_CMP_SCR_CFR (2U) //!< Bit position for CMP_SCR_CFR.
mbed_official 146:f64d43ff0c18 617 #define BM_CMP_SCR_CFR (0x04U) //!< Bit mask for CMP_SCR_CFR.
mbed_official 146:f64d43ff0c18 618 #define BS_CMP_SCR_CFR (1U) //!< Bit field size in bits for CMP_SCR_CFR.
mbed_official 146:f64d43ff0c18 619
mbed_official 146:f64d43ff0c18 620 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 621 //! @brief Read current value of the CMP_SCR_CFR field.
mbed_official 146:f64d43ff0c18 622 #define BR_CMP_SCR_CFR(x) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_CFR))
mbed_official 146:f64d43ff0c18 623 #endif
mbed_official 146:f64d43ff0c18 624
mbed_official 146:f64d43ff0c18 625 //! @brief Format value for bitfield CMP_SCR_CFR.
mbed_official 146:f64d43ff0c18 626 #define BF_CMP_SCR_CFR(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_SCR_CFR), uint8_t) & BM_CMP_SCR_CFR)
mbed_official 146:f64d43ff0c18 627
mbed_official 146:f64d43ff0c18 628 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 629 //! @brief Set the CFR field to a new value.
mbed_official 146:f64d43ff0c18 630 #define BW_CMP_SCR_CFR(x, v) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_CFR) = (v))
mbed_official 146:f64d43ff0c18 631 #endif
mbed_official 146:f64d43ff0c18 632 //@}
mbed_official 146:f64d43ff0c18 633
mbed_official 146:f64d43ff0c18 634 /*!
mbed_official 146:f64d43ff0c18 635 * @name Register CMP_SCR, field IEF[3] (RW)
mbed_official 146:f64d43ff0c18 636 *
mbed_official 146:f64d43ff0c18 637 * Enables the CFF interrupt from the CMP. When this field is set, an interrupt
mbed_official 146:f64d43ff0c18 638 * will be asserted when CFF is set.
mbed_official 146:f64d43ff0c18 639 *
mbed_official 146:f64d43ff0c18 640 * Values:
mbed_official 146:f64d43ff0c18 641 * - 0 - Interrupt is disabled.
mbed_official 146:f64d43ff0c18 642 * - 1 - Interrupt is enabled.
mbed_official 146:f64d43ff0c18 643 */
mbed_official 146:f64d43ff0c18 644 //@{
mbed_official 146:f64d43ff0c18 645 #define BP_CMP_SCR_IEF (3U) //!< Bit position for CMP_SCR_IEF.
mbed_official 146:f64d43ff0c18 646 #define BM_CMP_SCR_IEF (0x08U) //!< Bit mask for CMP_SCR_IEF.
mbed_official 146:f64d43ff0c18 647 #define BS_CMP_SCR_IEF (1U) //!< Bit field size in bits for CMP_SCR_IEF.
mbed_official 146:f64d43ff0c18 648
mbed_official 146:f64d43ff0c18 649 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 650 //! @brief Read current value of the CMP_SCR_IEF field.
mbed_official 146:f64d43ff0c18 651 #define BR_CMP_SCR_IEF(x) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_IEF))
mbed_official 146:f64d43ff0c18 652 #endif
mbed_official 146:f64d43ff0c18 653
mbed_official 146:f64d43ff0c18 654 //! @brief Format value for bitfield CMP_SCR_IEF.
mbed_official 146:f64d43ff0c18 655 #define BF_CMP_SCR_IEF(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_SCR_IEF), uint8_t) & BM_CMP_SCR_IEF)
mbed_official 146:f64d43ff0c18 656
mbed_official 146:f64d43ff0c18 657 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 658 //! @brief Set the IEF field to a new value.
mbed_official 146:f64d43ff0c18 659 #define BW_CMP_SCR_IEF(x, v) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_IEF) = (v))
mbed_official 146:f64d43ff0c18 660 #endif
mbed_official 146:f64d43ff0c18 661 //@}
mbed_official 146:f64d43ff0c18 662
mbed_official 146:f64d43ff0c18 663 /*!
mbed_official 146:f64d43ff0c18 664 * @name Register CMP_SCR, field IER[4] (RW)
mbed_official 146:f64d43ff0c18 665 *
mbed_official 146:f64d43ff0c18 666 * Enables the CFR interrupt from the CMP. When this field is set, an interrupt
mbed_official 146:f64d43ff0c18 667 * will be asserted when CFR is set.
mbed_official 146:f64d43ff0c18 668 *
mbed_official 146:f64d43ff0c18 669 * Values:
mbed_official 146:f64d43ff0c18 670 * - 0 - Interrupt is disabled.
mbed_official 146:f64d43ff0c18 671 * - 1 - Interrupt is enabled.
mbed_official 146:f64d43ff0c18 672 */
mbed_official 146:f64d43ff0c18 673 //@{
mbed_official 146:f64d43ff0c18 674 #define BP_CMP_SCR_IER (4U) //!< Bit position for CMP_SCR_IER.
mbed_official 146:f64d43ff0c18 675 #define BM_CMP_SCR_IER (0x10U) //!< Bit mask for CMP_SCR_IER.
mbed_official 146:f64d43ff0c18 676 #define BS_CMP_SCR_IER (1U) //!< Bit field size in bits for CMP_SCR_IER.
mbed_official 146:f64d43ff0c18 677
mbed_official 146:f64d43ff0c18 678 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 679 //! @brief Read current value of the CMP_SCR_IER field.
mbed_official 146:f64d43ff0c18 680 #define BR_CMP_SCR_IER(x) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_IER))
mbed_official 146:f64d43ff0c18 681 #endif
mbed_official 146:f64d43ff0c18 682
mbed_official 146:f64d43ff0c18 683 //! @brief Format value for bitfield CMP_SCR_IER.
mbed_official 146:f64d43ff0c18 684 #define BF_CMP_SCR_IER(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_SCR_IER), uint8_t) & BM_CMP_SCR_IER)
mbed_official 146:f64d43ff0c18 685
mbed_official 146:f64d43ff0c18 686 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 687 //! @brief Set the IER field to a new value.
mbed_official 146:f64d43ff0c18 688 #define BW_CMP_SCR_IER(x, v) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_IER) = (v))
mbed_official 146:f64d43ff0c18 689 #endif
mbed_official 146:f64d43ff0c18 690 //@}
mbed_official 146:f64d43ff0c18 691
mbed_official 146:f64d43ff0c18 692 /*!
mbed_official 146:f64d43ff0c18 693 * @name Register CMP_SCR, field DMAEN[6] (RW)
mbed_official 146:f64d43ff0c18 694 *
mbed_official 146:f64d43ff0c18 695 * Enables the DMA transfer triggered from the CMP module. When this field is
mbed_official 146:f64d43ff0c18 696 * set, a DMA request is asserted when CFR or CFF is set.
mbed_official 146:f64d43ff0c18 697 *
mbed_official 146:f64d43ff0c18 698 * Values:
mbed_official 146:f64d43ff0c18 699 * - 0 - DMA is disabled.
mbed_official 146:f64d43ff0c18 700 * - 1 - DMA is enabled.
mbed_official 146:f64d43ff0c18 701 */
mbed_official 146:f64d43ff0c18 702 //@{
mbed_official 146:f64d43ff0c18 703 #define BP_CMP_SCR_DMAEN (6U) //!< Bit position for CMP_SCR_DMAEN.
mbed_official 146:f64d43ff0c18 704 #define BM_CMP_SCR_DMAEN (0x40U) //!< Bit mask for CMP_SCR_DMAEN.
mbed_official 146:f64d43ff0c18 705 #define BS_CMP_SCR_DMAEN (1U) //!< Bit field size in bits for CMP_SCR_DMAEN.
mbed_official 146:f64d43ff0c18 706
mbed_official 146:f64d43ff0c18 707 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 708 //! @brief Read current value of the CMP_SCR_DMAEN field.
mbed_official 146:f64d43ff0c18 709 #define BR_CMP_SCR_DMAEN(x) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_DMAEN))
mbed_official 146:f64d43ff0c18 710 #endif
mbed_official 146:f64d43ff0c18 711
mbed_official 146:f64d43ff0c18 712 //! @brief Format value for bitfield CMP_SCR_DMAEN.
mbed_official 146:f64d43ff0c18 713 #define BF_CMP_SCR_DMAEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_SCR_DMAEN), uint8_t) & BM_CMP_SCR_DMAEN)
mbed_official 146:f64d43ff0c18 714
mbed_official 146:f64d43ff0c18 715 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 716 //! @brief Set the DMAEN field to a new value.
mbed_official 146:f64d43ff0c18 717 #define BW_CMP_SCR_DMAEN(x, v) (BITBAND_ACCESS8(HW_CMP_SCR_ADDR(x), BP_CMP_SCR_DMAEN) = (v))
mbed_official 146:f64d43ff0c18 718 #endif
mbed_official 146:f64d43ff0c18 719 //@}
mbed_official 146:f64d43ff0c18 720
mbed_official 146:f64d43ff0c18 721 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 722 // HW_CMP_DACCR - DAC Control Register
mbed_official 146:f64d43ff0c18 723 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 724
mbed_official 146:f64d43ff0c18 725 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 726 /*!
mbed_official 146:f64d43ff0c18 727 * @brief HW_CMP_DACCR - DAC Control Register (RW)
mbed_official 146:f64d43ff0c18 728 *
mbed_official 146:f64d43ff0c18 729 * Reset value: 0x00U
mbed_official 146:f64d43ff0c18 730 */
mbed_official 146:f64d43ff0c18 731 typedef union _hw_cmp_daccr
mbed_official 146:f64d43ff0c18 732 {
mbed_official 146:f64d43ff0c18 733 uint8_t U;
mbed_official 146:f64d43ff0c18 734 struct _hw_cmp_daccr_bitfields
mbed_official 146:f64d43ff0c18 735 {
mbed_official 146:f64d43ff0c18 736 uint8_t VOSEL : 6; //!< [5:0] DAC Output Voltage Select
mbed_official 146:f64d43ff0c18 737 uint8_t VRSEL : 1; //!< [6] Supply Voltage Reference Source Select
mbed_official 146:f64d43ff0c18 738 uint8_t DACEN : 1; //!< [7] DAC Enable
mbed_official 146:f64d43ff0c18 739 } B;
mbed_official 146:f64d43ff0c18 740 } hw_cmp_daccr_t;
mbed_official 146:f64d43ff0c18 741 #endif
mbed_official 146:f64d43ff0c18 742
mbed_official 146:f64d43ff0c18 743 /*!
mbed_official 146:f64d43ff0c18 744 * @name Constants and macros for entire CMP_DACCR register
mbed_official 146:f64d43ff0c18 745 */
mbed_official 146:f64d43ff0c18 746 //@{
mbed_official 146:f64d43ff0c18 747 #define HW_CMP_DACCR_ADDR(x) (REGS_CMP_BASE(x) + 0x4U)
mbed_official 146:f64d43ff0c18 748
mbed_official 146:f64d43ff0c18 749 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 750 #define HW_CMP_DACCR(x) (*(__IO hw_cmp_daccr_t *) HW_CMP_DACCR_ADDR(x))
mbed_official 146:f64d43ff0c18 751 #define HW_CMP_DACCR_RD(x) (HW_CMP_DACCR(x).U)
mbed_official 146:f64d43ff0c18 752 #define HW_CMP_DACCR_WR(x, v) (HW_CMP_DACCR(x).U = (v))
mbed_official 146:f64d43ff0c18 753 #define HW_CMP_DACCR_SET(x, v) (HW_CMP_DACCR_WR(x, HW_CMP_DACCR_RD(x) | (v)))
mbed_official 146:f64d43ff0c18 754 #define HW_CMP_DACCR_CLR(x, v) (HW_CMP_DACCR_WR(x, HW_CMP_DACCR_RD(x) & ~(v)))
mbed_official 146:f64d43ff0c18 755 #define HW_CMP_DACCR_TOG(x, v) (HW_CMP_DACCR_WR(x, HW_CMP_DACCR_RD(x) ^ (v)))
mbed_official 146:f64d43ff0c18 756 #endif
mbed_official 146:f64d43ff0c18 757 //@}
mbed_official 146:f64d43ff0c18 758
mbed_official 146:f64d43ff0c18 759 /*
mbed_official 146:f64d43ff0c18 760 * Constants & macros for individual CMP_DACCR bitfields
mbed_official 146:f64d43ff0c18 761 */
mbed_official 146:f64d43ff0c18 762
mbed_official 146:f64d43ff0c18 763 /*!
mbed_official 146:f64d43ff0c18 764 * @name Register CMP_DACCR, field VOSEL[5:0] (RW)
mbed_official 146:f64d43ff0c18 765 *
mbed_official 146:f64d43ff0c18 766 * Selects an output voltage from one of 64 distinct levels. DACO = (V in /64) *
mbed_official 146:f64d43ff0c18 767 * (VOSEL[5:0] + 1) , so the DACO range is from V in /64 to V in .
mbed_official 146:f64d43ff0c18 768 */
mbed_official 146:f64d43ff0c18 769 //@{
mbed_official 146:f64d43ff0c18 770 #define BP_CMP_DACCR_VOSEL (0U) //!< Bit position for CMP_DACCR_VOSEL.
mbed_official 146:f64d43ff0c18 771 #define BM_CMP_DACCR_VOSEL (0x3FU) //!< Bit mask for CMP_DACCR_VOSEL.
mbed_official 146:f64d43ff0c18 772 #define BS_CMP_DACCR_VOSEL (6U) //!< Bit field size in bits for CMP_DACCR_VOSEL.
mbed_official 146:f64d43ff0c18 773
mbed_official 146:f64d43ff0c18 774 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 775 //! @brief Read current value of the CMP_DACCR_VOSEL field.
mbed_official 146:f64d43ff0c18 776 #define BR_CMP_DACCR_VOSEL(x) (HW_CMP_DACCR(x).B.VOSEL)
mbed_official 146:f64d43ff0c18 777 #endif
mbed_official 146:f64d43ff0c18 778
mbed_official 146:f64d43ff0c18 779 //! @brief Format value for bitfield CMP_DACCR_VOSEL.
mbed_official 146:f64d43ff0c18 780 #define BF_CMP_DACCR_VOSEL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_DACCR_VOSEL), uint8_t) & BM_CMP_DACCR_VOSEL)
mbed_official 146:f64d43ff0c18 781
mbed_official 146:f64d43ff0c18 782 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 783 //! @brief Set the VOSEL field to a new value.
mbed_official 146:f64d43ff0c18 784 #define BW_CMP_DACCR_VOSEL(x, v) (HW_CMP_DACCR_WR(x, (HW_CMP_DACCR_RD(x) & ~BM_CMP_DACCR_VOSEL) | BF_CMP_DACCR_VOSEL(v)))
mbed_official 146:f64d43ff0c18 785 #endif
mbed_official 146:f64d43ff0c18 786 //@}
mbed_official 146:f64d43ff0c18 787
mbed_official 146:f64d43ff0c18 788 /*!
mbed_official 146:f64d43ff0c18 789 * @name Register CMP_DACCR, field VRSEL[6] (RW)
mbed_official 146:f64d43ff0c18 790 *
mbed_official 146:f64d43ff0c18 791 * Values:
mbed_official 146:f64d43ff0c18 792 * - 0 - V is selected as resistor ladder network supply reference V. in1 in
mbed_official 146:f64d43ff0c18 793 * - 1 - V is selected as resistor ladder network supply reference V. in2 in
mbed_official 146:f64d43ff0c18 794 */
mbed_official 146:f64d43ff0c18 795 //@{
mbed_official 146:f64d43ff0c18 796 #define BP_CMP_DACCR_VRSEL (6U) //!< Bit position for CMP_DACCR_VRSEL.
mbed_official 146:f64d43ff0c18 797 #define BM_CMP_DACCR_VRSEL (0x40U) //!< Bit mask for CMP_DACCR_VRSEL.
mbed_official 146:f64d43ff0c18 798 #define BS_CMP_DACCR_VRSEL (1U) //!< Bit field size in bits for CMP_DACCR_VRSEL.
mbed_official 146:f64d43ff0c18 799
mbed_official 146:f64d43ff0c18 800 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 801 //! @brief Read current value of the CMP_DACCR_VRSEL field.
mbed_official 146:f64d43ff0c18 802 #define BR_CMP_DACCR_VRSEL(x) (BITBAND_ACCESS8(HW_CMP_DACCR_ADDR(x), BP_CMP_DACCR_VRSEL))
mbed_official 146:f64d43ff0c18 803 #endif
mbed_official 146:f64d43ff0c18 804
mbed_official 146:f64d43ff0c18 805 //! @brief Format value for bitfield CMP_DACCR_VRSEL.
mbed_official 146:f64d43ff0c18 806 #define BF_CMP_DACCR_VRSEL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_DACCR_VRSEL), uint8_t) & BM_CMP_DACCR_VRSEL)
mbed_official 146:f64d43ff0c18 807
mbed_official 146:f64d43ff0c18 808 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 809 //! @brief Set the VRSEL field to a new value.
mbed_official 146:f64d43ff0c18 810 #define BW_CMP_DACCR_VRSEL(x, v) (BITBAND_ACCESS8(HW_CMP_DACCR_ADDR(x), BP_CMP_DACCR_VRSEL) = (v))
mbed_official 146:f64d43ff0c18 811 #endif
mbed_official 146:f64d43ff0c18 812 //@}
mbed_official 146:f64d43ff0c18 813
mbed_official 146:f64d43ff0c18 814 /*!
mbed_official 146:f64d43ff0c18 815 * @name Register CMP_DACCR, field DACEN[7] (RW)
mbed_official 146:f64d43ff0c18 816 *
mbed_official 146:f64d43ff0c18 817 * Enables the DAC. When the DAC is disabled, it is powered down to conserve
mbed_official 146:f64d43ff0c18 818 * power.
mbed_official 146:f64d43ff0c18 819 *
mbed_official 146:f64d43ff0c18 820 * Values:
mbed_official 146:f64d43ff0c18 821 * - 0 - DAC is disabled.
mbed_official 146:f64d43ff0c18 822 * - 1 - DAC is enabled.
mbed_official 146:f64d43ff0c18 823 */
mbed_official 146:f64d43ff0c18 824 //@{
mbed_official 146:f64d43ff0c18 825 #define BP_CMP_DACCR_DACEN (7U) //!< Bit position for CMP_DACCR_DACEN.
mbed_official 146:f64d43ff0c18 826 #define BM_CMP_DACCR_DACEN (0x80U) //!< Bit mask for CMP_DACCR_DACEN.
mbed_official 146:f64d43ff0c18 827 #define BS_CMP_DACCR_DACEN (1U) //!< Bit field size in bits for CMP_DACCR_DACEN.
mbed_official 146:f64d43ff0c18 828
mbed_official 146:f64d43ff0c18 829 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 830 //! @brief Read current value of the CMP_DACCR_DACEN field.
mbed_official 146:f64d43ff0c18 831 #define BR_CMP_DACCR_DACEN(x) (BITBAND_ACCESS8(HW_CMP_DACCR_ADDR(x), BP_CMP_DACCR_DACEN))
mbed_official 146:f64d43ff0c18 832 #endif
mbed_official 146:f64d43ff0c18 833
mbed_official 146:f64d43ff0c18 834 //! @brief Format value for bitfield CMP_DACCR_DACEN.
mbed_official 146:f64d43ff0c18 835 #define BF_CMP_DACCR_DACEN(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_DACCR_DACEN), uint8_t) & BM_CMP_DACCR_DACEN)
mbed_official 146:f64d43ff0c18 836
mbed_official 146:f64d43ff0c18 837 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 838 //! @brief Set the DACEN field to a new value.
mbed_official 146:f64d43ff0c18 839 #define BW_CMP_DACCR_DACEN(x, v) (BITBAND_ACCESS8(HW_CMP_DACCR_ADDR(x), BP_CMP_DACCR_DACEN) = (v))
mbed_official 146:f64d43ff0c18 840 #endif
mbed_official 146:f64d43ff0c18 841 //@}
mbed_official 146:f64d43ff0c18 842
mbed_official 146:f64d43ff0c18 843 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 844 // HW_CMP_MUXCR - MUX Control Register
mbed_official 146:f64d43ff0c18 845 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 846
mbed_official 146:f64d43ff0c18 847 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 848 /*!
mbed_official 146:f64d43ff0c18 849 * @brief HW_CMP_MUXCR - MUX Control Register (RW)
mbed_official 146:f64d43ff0c18 850 *
mbed_official 146:f64d43ff0c18 851 * Reset value: 0x00U
mbed_official 146:f64d43ff0c18 852 */
mbed_official 146:f64d43ff0c18 853 typedef union _hw_cmp_muxcr
mbed_official 146:f64d43ff0c18 854 {
mbed_official 146:f64d43ff0c18 855 uint8_t U;
mbed_official 146:f64d43ff0c18 856 struct _hw_cmp_muxcr_bitfields
mbed_official 146:f64d43ff0c18 857 {
mbed_official 146:f64d43ff0c18 858 uint8_t MSEL : 3; //!< [2:0] Minus Input Mux Control
mbed_official 146:f64d43ff0c18 859 uint8_t PSEL : 3; //!< [5:3] Plus Input Mux Control
mbed_official 146:f64d43ff0c18 860 uint8_t RESERVED0 : 1; //!< [6]
mbed_official 146:f64d43ff0c18 861 uint8_t PSTM : 1; //!< [7] Pass Through Mode Enable
mbed_official 146:f64d43ff0c18 862 } B;
mbed_official 146:f64d43ff0c18 863 } hw_cmp_muxcr_t;
mbed_official 146:f64d43ff0c18 864 #endif
mbed_official 146:f64d43ff0c18 865
mbed_official 146:f64d43ff0c18 866 /*!
mbed_official 146:f64d43ff0c18 867 * @name Constants and macros for entire CMP_MUXCR register
mbed_official 146:f64d43ff0c18 868 */
mbed_official 146:f64d43ff0c18 869 //@{
mbed_official 146:f64d43ff0c18 870 #define HW_CMP_MUXCR_ADDR(x) (REGS_CMP_BASE(x) + 0x5U)
mbed_official 146:f64d43ff0c18 871
mbed_official 146:f64d43ff0c18 872 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 873 #define HW_CMP_MUXCR(x) (*(__IO hw_cmp_muxcr_t *) HW_CMP_MUXCR_ADDR(x))
mbed_official 146:f64d43ff0c18 874 #define HW_CMP_MUXCR_RD(x) (HW_CMP_MUXCR(x).U)
mbed_official 146:f64d43ff0c18 875 #define HW_CMP_MUXCR_WR(x, v) (HW_CMP_MUXCR(x).U = (v))
mbed_official 146:f64d43ff0c18 876 #define HW_CMP_MUXCR_SET(x, v) (HW_CMP_MUXCR_WR(x, HW_CMP_MUXCR_RD(x) | (v)))
mbed_official 146:f64d43ff0c18 877 #define HW_CMP_MUXCR_CLR(x, v) (HW_CMP_MUXCR_WR(x, HW_CMP_MUXCR_RD(x) & ~(v)))
mbed_official 146:f64d43ff0c18 878 #define HW_CMP_MUXCR_TOG(x, v) (HW_CMP_MUXCR_WR(x, HW_CMP_MUXCR_RD(x) ^ (v)))
mbed_official 146:f64d43ff0c18 879 #endif
mbed_official 146:f64d43ff0c18 880 //@}
mbed_official 146:f64d43ff0c18 881
mbed_official 146:f64d43ff0c18 882 /*
mbed_official 146:f64d43ff0c18 883 * Constants & macros for individual CMP_MUXCR bitfields
mbed_official 146:f64d43ff0c18 884 */
mbed_official 146:f64d43ff0c18 885
mbed_official 146:f64d43ff0c18 886 /*!
mbed_official 146:f64d43ff0c18 887 * @name Register CMP_MUXCR, field MSEL[2:0] (RW)
mbed_official 146:f64d43ff0c18 888 *
mbed_official 146:f64d43ff0c18 889 * Determines which input is selected for the minus input of the comparator. For
mbed_official 146:f64d43ff0c18 890 * INx inputs, see CMP, DAC, and ANMUX block diagrams. When an inappropriate
mbed_official 146:f64d43ff0c18 891 * operation selects the same input for both muxes, the comparator automatically
mbed_official 146:f64d43ff0c18 892 * shuts down to prevent itself from becoming a noise generator.
mbed_official 146:f64d43ff0c18 893 *
mbed_official 146:f64d43ff0c18 894 * Values:
mbed_official 146:f64d43ff0c18 895 * - 000 - IN0
mbed_official 146:f64d43ff0c18 896 * - 001 - IN1
mbed_official 146:f64d43ff0c18 897 * - 010 - IN2
mbed_official 146:f64d43ff0c18 898 * - 011 - IN3
mbed_official 146:f64d43ff0c18 899 * - 100 - IN4
mbed_official 146:f64d43ff0c18 900 * - 101 - IN5
mbed_official 146:f64d43ff0c18 901 * - 110 - IN6
mbed_official 146:f64d43ff0c18 902 * - 111 - IN7
mbed_official 146:f64d43ff0c18 903 */
mbed_official 146:f64d43ff0c18 904 //@{
mbed_official 146:f64d43ff0c18 905 #define BP_CMP_MUXCR_MSEL (0U) //!< Bit position for CMP_MUXCR_MSEL.
mbed_official 146:f64d43ff0c18 906 #define BM_CMP_MUXCR_MSEL (0x07U) //!< Bit mask for CMP_MUXCR_MSEL.
mbed_official 146:f64d43ff0c18 907 #define BS_CMP_MUXCR_MSEL (3U) //!< Bit field size in bits for CMP_MUXCR_MSEL.
mbed_official 146:f64d43ff0c18 908
mbed_official 146:f64d43ff0c18 909 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 910 //! @brief Read current value of the CMP_MUXCR_MSEL field.
mbed_official 146:f64d43ff0c18 911 #define BR_CMP_MUXCR_MSEL(x) (HW_CMP_MUXCR(x).B.MSEL)
mbed_official 146:f64d43ff0c18 912 #endif
mbed_official 146:f64d43ff0c18 913
mbed_official 146:f64d43ff0c18 914 //! @brief Format value for bitfield CMP_MUXCR_MSEL.
mbed_official 146:f64d43ff0c18 915 #define BF_CMP_MUXCR_MSEL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_MUXCR_MSEL), uint8_t) & BM_CMP_MUXCR_MSEL)
mbed_official 146:f64d43ff0c18 916
mbed_official 146:f64d43ff0c18 917 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 918 //! @brief Set the MSEL field to a new value.
mbed_official 146:f64d43ff0c18 919 #define BW_CMP_MUXCR_MSEL(x, v) (HW_CMP_MUXCR_WR(x, (HW_CMP_MUXCR_RD(x) & ~BM_CMP_MUXCR_MSEL) | BF_CMP_MUXCR_MSEL(v)))
mbed_official 146:f64d43ff0c18 920 #endif
mbed_official 146:f64d43ff0c18 921 //@}
mbed_official 146:f64d43ff0c18 922
mbed_official 146:f64d43ff0c18 923 /*!
mbed_official 146:f64d43ff0c18 924 * @name Register CMP_MUXCR, field PSEL[5:3] (RW)
mbed_official 146:f64d43ff0c18 925 *
mbed_official 146:f64d43ff0c18 926 * Determines which input is selected for the plus input of the comparator. For
mbed_official 146:f64d43ff0c18 927 * INx inputs, see CMP, DAC, and ANMUX block diagrams. When an inappropriate
mbed_official 146:f64d43ff0c18 928 * operation selects the same input for both muxes, the comparator automatically
mbed_official 146:f64d43ff0c18 929 * shuts down to prevent itself from becoming a noise generator.
mbed_official 146:f64d43ff0c18 930 *
mbed_official 146:f64d43ff0c18 931 * Values:
mbed_official 146:f64d43ff0c18 932 * - 000 - IN0
mbed_official 146:f64d43ff0c18 933 * - 001 - IN1
mbed_official 146:f64d43ff0c18 934 * - 010 - IN2
mbed_official 146:f64d43ff0c18 935 * - 011 - IN3
mbed_official 146:f64d43ff0c18 936 * - 100 - IN4
mbed_official 146:f64d43ff0c18 937 * - 101 - IN5
mbed_official 146:f64d43ff0c18 938 * - 110 - IN6
mbed_official 146:f64d43ff0c18 939 * - 111 - IN7
mbed_official 146:f64d43ff0c18 940 */
mbed_official 146:f64d43ff0c18 941 //@{
mbed_official 146:f64d43ff0c18 942 #define BP_CMP_MUXCR_PSEL (3U) //!< Bit position for CMP_MUXCR_PSEL.
mbed_official 146:f64d43ff0c18 943 #define BM_CMP_MUXCR_PSEL (0x38U) //!< Bit mask for CMP_MUXCR_PSEL.
mbed_official 146:f64d43ff0c18 944 #define BS_CMP_MUXCR_PSEL (3U) //!< Bit field size in bits for CMP_MUXCR_PSEL.
mbed_official 146:f64d43ff0c18 945
mbed_official 146:f64d43ff0c18 946 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 947 //! @brief Read current value of the CMP_MUXCR_PSEL field.
mbed_official 146:f64d43ff0c18 948 #define BR_CMP_MUXCR_PSEL(x) (HW_CMP_MUXCR(x).B.PSEL)
mbed_official 146:f64d43ff0c18 949 #endif
mbed_official 146:f64d43ff0c18 950
mbed_official 146:f64d43ff0c18 951 //! @brief Format value for bitfield CMP_MUXCR_PSEL.
mbed_official 146:f64d43ff0c18 952 #define BF_CMP_MUXCR_PSEL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_MUXCR_PSEL), uint8_t) & BM_CMP_MUXCR_PSEL)
mbed_official 146:f64d43ff0c18 953
mbed_official 146:f64d43ff0c18 954 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 955 //! @brief Set the PSEL field to a new value.
mbed_official 146:f64d43ff0c18 956 #define BW_CMP_MUXCR_PSEL(x, v) (HW_CMP_MUXCR_WR(x, (HW_CMP_MUXCR_RD(x) & ~BM_CMP_MUXCR_PSEL) | BF_CMP_MUXCR_PSEL(v)))
mbed_official 146:f64d43ff0c18 957 #endif
mbed_official 146:f64d43ff0c18 958 //@}
mbed_official 146:f64d43ff0c18 959
mbed_official 146:f64d43ff0c18 960 /*!
mbed_official 146:f64d43ff0c18 961 * @name Register CMP_MUXCR, field PSTM[7] (RW)
mbed_official 146:f64d43ff0c18 962 *
mbed_official 146:f64d43ff0c18 963 * This bit is used to enable to MUX pass through mode. Pass through mode is
mbed_official 146:f64d43ff0c18 964 * always available but for some devices this feature must be always disabled due to
mbed_official 146:f64d43ff0c18 965 * the lack of package pins.
mbed_official 146:f64d43ff0c18 966 *
mbed_official 146:f64d43ff0c18 967 * Values:
mbed_official 146:f64d43ff0c18 968 * - 0 - Pass Through Mode is disabled.
mbed_official 146:f64d43ff0c18 969 * - 1 - Pass Through Mode is enabled.
mbed_official 146:f64d43ff0c18 970 */
mbed_official 146:f64d43ff0c18 971 //@{
mbed_official 146:f64d43ff0c18 972 #define BP_CMP_MUXCR_PSTM (7U) //!< Bit position for CMP_MUXCR_PSTM.
mbed_official 146:f64d43ff0c18 973 #define BM_CMP_MUXCR_PSTM (0x80U) //!< Bit mask for CMP_MUXCR_PSTM.
mbed_official 146:f64d43ff0c18 974 #define BS_CMP_MUXCR_PSTM (1U) //!< Bit field size in bits for CMP_MUXCR_PSTM.
mbed_official 146:f64d43ff0c18 975
mbed_official 146:f64d43ff0c18 976 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 977 //! @brief Read current value of the CMP_MUXCR_PSTM field.
mbed_official 146:f64d43ff0c18 978 #define BR_CMP_MUXCR_PSTM(x) (BITBAND_ACCESS8(HW_CMP_MUXCR_ADDR(x), BP_CMP_MUXCR_PSTM))
mbed_official 146:f64d43ff0c18 979 #endif
mbed_official 146:f64d43ff0c18 980
mbed_official 146:f64d43ff0c18 981 //! @brief Format value for bitfield CMP_MUXCR_PSTM.
mbed_official 146:f64d43ff0c18 982 #define BF_CMP_MUXCR_PSTM(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_CMP_MUXCR_PSTM), uint8_t) & BM_CMP_MUXCR_PSTM)
mbed_official 146:f64d43ff0c18 983
mbed_official 146:f64d43ff0c18 984 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 985 //! @brief Set the PSTM field to a new value.
mbed_official 146:f64d43ff0c18 986 #define BW_CMP_MUXCR_PSTM(x, v) (BITBAND_ACCESS8(HW_CMP_MUXCR_ADDR(x), BP_CMP_MUXCR_PSTM) = (v))
mbed_official 146:f64d43ff0c18 987 #endif
mbed_official 146:f64d43ff0c18 988 //@}
mbed_official 146:f64d43ff0c18 989
mbed_official 146:f64d43ff0c18 990 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 991 // hw_cmp_t - module struct
mbed_official 146:f64d43ff0c18 992 //-------------------------------------------------------------------------------------------
mbed_official 146:f64d43ff0c18 993 /*!
mbed_official 146:f64d43ff0c18 994 * @brief All CMP module registers.
mbed_official 146:f64d43ff0c18 995 */
mbed_official 146:f64d43ff0c18 996 #ifndef __LANGUAGE_ASM__
mbed_official 146:f64d43ff0c18 997 #pragma pack(1)
mbed_official 146:f64d43ff0c18 998 typedef struct _hw_cmp
mbed_official 146:f64d43ff0c18 999 {
mbed_official 146:f64d43ff0c18 1000 __IO hw_cmp_cr0_t CR0; //!< [0x0] CMP Control Register 0
mbed_official 146:f64d43ff0c18 1001 __IO hw_cmp_cr1_t CR1; //!< [0x1] CMP Control Register 1
mbed_official 146:f64d43ff0c18 1002 __IO hw_cmp_fpr_t FPR; //!< [0x2] CMP Filter Period Register
mbed_official 146:f64d43ff0c18 1003 __IO hw_cmp_scr_t SCR; //!< [0x3] CMP Status and Control Register
mbed_official 146:f64d43ff0c18 1004 __IO hw_cmp_daccr_t DACCR; //!< [0x4] DAC Control Register
mbed_official 146:f64d43ff0c18 1005 __IO hw_cmp_muxcr_t MUXCR; //!< [0x5] MUX Control Register
mbed_official 146:f64d43ff0c18 1006 } hw_cmp_t;
mbed_official 146:f64d43ff0c18 1007 #pragma pack()
mbed_official 146:f64d43ff0c18 1008
mbed_official 146:f64d43ff0c18 1009 //! @brief Macro to access all CMP registers.
mbed_official 146:f64d43ff0c18 1010 //! @param x CMP instance number.
mbed_official 146:f64d43ff0c18 1011 //! @return Reference (not a pointer) to the registers struct. To get a pointer to the struct,
mbed_official 146:f64d43ff0c18 1012 //! use the '&' operator, like <code>&HW_CMP(0)</code>.
mbed_official 146:f64d43ff0c18 1013 #define HW_CMP(x) (*(hw_cmp_t *) REGS_CMP_BASE(x))
mbed_official 146:f64d43ff0c18 1014 #endif
mbed_official 146:f64d43ff0c18 1015
mbed_official 146:f64d43ff0c18 1016 #endif // __HW_CMP_REGISTERS_H__
mbed_official 146:f64d43ff0c18 1017 // v22/130726/0.9
mbed_official 146:f64d43ff0c18 1018 // EOF