2 **********************************************************************************
\r
3 * © 2013 Microchip Technology Inc. and its subsidiaries.
\r
4 * You may use this software and any derivatives exclusively with
\r
5 * Microchip products.
\r
6 * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS".
\r
7 * NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
\r
8 * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
\r
9 * AND FITNESS FOR A PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP
\r
10 * PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION.
\r
11 * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
\r
12 * INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
\r
13 * WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS
\r
14 * BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE.
\r
15 * TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
\r
16 * CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF
\r
17 * FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
\r
18 * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE
\r
20 **********************************************************************************
\r
22 * This is the definition header file for generic usages
\r
23 **********************************************************************************
\r
25 **********************************************************************************
\r
26 * $File: //depot_pcs/FWEng/projects/MEC2016/Playground/pramans/160623_FreeRTOS_Microchip_MEC170x/Demo/CORTEX_MPU_MEC1701_Keil_GCC/peripheral_library/defs.h $
\r
30 /*********************************************************************************/
\r
31 /** @defgroup defs defs
\r
36 * \brief definition header file for generic usages
\r
37 * \author App Firmware Team
\r
39 **********************************************************************************/
\r
43 /* bit operation MACRO, xvar could be byte, word or dword */
\r
44 #define mSET_BIT(x, xvar) ( xvar |= x )
\r
45 #define mCLR_BIT(x, xvar) ( xvar &= ~x )
\r
46 #define mGET_BIT(x, xvar) ( xvar & x )
\r
47 #define mCLR_SRC_BIT(x, xvar) ( xvar = x )
\r
48 #define mTOGGLE_BIT(x, xvar) {if(mGET_BIT(x, xvar)){mCLR_BIT(x, xvar);}else{mSET_BIT(x, xvar);}}
\r