📄 pe_types.h
字号:
/** ###################################################################
** THIS BEAN MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT.
** Filename : PE_Types.H
** Project : LM75A
** Processor : MC9S08QE8CFM
** Beantype : PE_Types
** Version : Driver 01.09
** Compiler : CodeWarrior HCS08 C Compiler
** Date/Time : 2009-1-13, 15:18
** Abstract :
** PE_Types.h - contains definitions of basic types,
** register access macros and hardware specific macros
** which can be used in user application.
** Settings :
** Contents :
** No public methods
**
** (c) Copyright UNIS, spol. s r.o. 1997-2008
** UNIS, spol. s r.o.
** Jundrovska 33
** 624 00 Brno
** Czech Republic
** http : www.processorexpert.com
** mail : info@processorexpert.com
** ###################################################################*/
#ifndef __PE_Types_H
#define __PE_Types_H
#ifndef FALSE
#define FALSE 0 /* Boolean value FALSE. FALSE is defined always as a zero value. */
#endif
#ifndef TRUE
#define TRUE 1 /* Boolean value TRUE. TRUE is defined always as a non zero value. */
#endif
/*Types definition*/
typedef unsigned char bool;
typedef unsigned char byte;
typedef unsigned int word;
typedef unsigned long dword;
typedef unsigned long dlong[2];
typedef void (*tIntFunc)(void);
typedef unsigned char TPE_ErrCode;
/*typedef void (*__far tFarPtr)(void);*/
/* Freescale types */
typedef unsigned char VUINT8;
typedef signed char VINT8;
typedef unsigned short int VUINT16;
typedef signed short int VINT16;
typedef unsigned long int VUINT32;
/* Aditional standard ANSI C types */
#ifndef int8_t
typedef signed char int8_t;
#endif
#ifndef int16_t
typedef signed int int16_t;
#endif
#ifndef int32_t
typedef signed long int int32_t;
#endif
#ifndef uint8_t
typedef unsigned char uint8_t;
#endif
#ifndef uint16_t
typedef unsigned int uint16_t;
#endif
#ifndef uint32_t
typedef unsigned long int uint32_t;
#endif
/**************************************************/
/* PE register access macros */
/**************************************************/
/*lint -save -e960 Disable MISRA rule (98) checking. */
#define setRegBit(reg, bit) (reg |= reg##_##bit##_##MASK)
#define clrRegBit(reg, bit) (reg &= ~reg##_##bit##_##MASK)
#define getRegBit(reg, bit) (reg & reg##_##bit##_##MASK)
#define setReg(reg, val) (reg = (byte)(val))
#define getReg(reg) (reg)
#define setRegBits(reg, mask) (reg |= (byte)(mask))
#define getRegBits(reg, mask) (reg & (byte)(mask))
#define clrRegBits(reg, mask) (reg &= (byte)(~(mask)))
#define setRegBitGroup(reg, bits, val) (reg = (byte)((reg & ~reg##_##bits##_##MASK) | ((val) << reg##_##bits##_##BITNUM)))
#define getRegBitGroup(reg, bits) ((reg & reg##_##bits##_##MASK) >> reg##_##bits##_##BITNUM)
#define setRegMask(reg, maskAnd, maskOr) (reg = (byte)((getReg(reg) & ~(maskAnd)) | (maskOr)))
#define setRegBitVal(reg, bit, val) ((val) == 0 ? (reg &= ~reg##_##bit##_##MASK) : (reg |= reg##_##bit##_##MASK))
#define changeRegBits(reg, mask) (reg ^= (mask))
#define changeRegBit(reg, bit) (reg ^= reg##_##bit##_##MASK)
/******************************************************************/
/* Uniform multiplatform peripheral access macros - 32 bit access */
/******************************************************************/
#define setReg32Bit(RegName, BitName) (RegName |= RegName##_##BitName##_##MASK)
#define clrReg32Bit(RegName, BitName) (RegName &= ~RegName##_##BitName##_##MASK)
#define invertReg32Bit(RegName, BitName) (RegName ^= RegName##_##BitName##_##MASK)
#define testReg32Bit(RegName, BitName) (RegName & RegName##_##BitName##_##MASK)
/* Whole peripheral register access macros */
#define setReg32(RegName, val) (RegName = (dword)(val))
#define getReg32(RegName) RegName
/* Bits peripheral register access macros */
#define testReg32Bits(RegName, GetMask) (RegName & (GetMask))
#define clrReg32Bits(RegName, ClrMask) (RegName &= ~(dword)(ClrMask))
#define setReg32Bits(RegName, SetMask) (RegName |= (dword)(SetMask))
#define invertReg32Bits(RegName, InvMask) (RegName ^= (dword)(InvMask))
#define clrSetReg32Bits(RegName, ClrMask, SetMask) (RegName = (RegName & (~(dword)(ClrMask))) | (dword)(SetMask))
#define seqClrSetReg32Bits(RegName, BitsMask, BitsVal) (RegName &= ~(~(dword)(BitsVal) & (dword)(BitsMask)),\
RegName |= (dword)(BitsVal) & (dword)(BitsMask) )
#define seqSetClrReg32Bits(RegName, BitsMask, BitsVal) (RegName |= (dword)(BitsVal) & (dword)(BitsMask),\
RegName &= ~(~(dword)(BitsVal) & (dword)(BitsMask)) )
#define seqResetSetReg32Bits(RegName, BitsMask, BitsVal) (RegName &= ~(dword)(BitsMask),\
RegName |= (dword)(BitsVal) & (dword)(BitsMask) )
#define clrReg32BitsByOne(RegName, ClrMask, BitsMask) (RegName &= (dword)(ClrMask) & (dword)(BitsMask))
/* Bit group peripheral register access macros */
#define testReg32BitGroup(RegName, GroupName) (RegName & RegName##_##GroupName##_##MASK)
#define getReg32BitGroupVal(RegName, GroupName) ((RegName & RegName##_##GroupName##_##MASK) >> RegName##_##GroupName##_##BITNUM)
#define setReg32BitGroupVal(RegName, GroupName, GroupVal) (RegName = (RegName & ~RegName##_##GroupName##_##MASK) | ((GroupVal) << RegName##_##GroupName##_##BITNUM))
#define seqClrSetReg32BitGroupVal(RegName,GroupName,GroupVal) (RegName &= ~(~((GroupVal) << RegName##_##GroupName##_##BITNUM) & RegName##_##GroupName##_##MASK),\
RegName |= ((GroupVal) << RegName##_##GroupName##_##BITNUM) & RegName##_##GroupName##_##MASK )
#define seqSetClrReg32BitGroupVal(RegName,GroupName,GroupVal) (RegName |= ((GroupVal) << RegName##_##GroupName##_##BITNUM) & RegName##_##GroupName##_##MASK,\
RegName &= ~(~((GroupVal) << RegName##_##GroupName##_##BITNUM) & RegName##_##GroupName##_##MASK) )
#define seqResetSetReg32BitGroupVal(RegName,GroupName,GroupVal) (RegName &= ~RegName##_##GroupName##_##MASK,\
RegName |= ((GroupVal) << RegName##_##GroupName##_##BITNUM) & RegName##_##GroupName##_##MASK )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -