📄 s12xfpim.h
字号:
/*******************************************************************************/
/**
Copyright (c) 2007 Freescale Semiconductor
Freescale Confidential Proprietary
\file S12XFPIM.h
\brief S12XF512 Port Integration Module definitions
\author Freescale Semiconductor
\author Guadalajara Applications Laboratory RTAC Americas
\author Jaime Orozco
\version 1.0
\date March/09/2007
*/
/*******************************************************************************/
/* */
/* All software, source code, included documentation, and any implied know-how */
/* are property of Freescale Semiconductor and therefore considered */
/* CONFIDENTIAL INFORMATION. */
/* */
/* This confidential information is disclosed FOR DEMONSTRATION PURPOSES ONLY. */
/* */
/* All Confidential Information remains the property of Freescale Semiconductor*/
/* and will not be copied or reproduced without the express written permission */
/* of the Discloser, except for copies that are absolutely necessary in order */
/* to fulfill the Purpose. */
/* */
/* Services performed by FREESCALE in this matter are performed AS IS and */
/* without any warranty. CUSTOMER retains the final decision relative to the */
/* total design and functionality of the end product. */
/* */
/* FREESCALE neither guarantees nor will be held liable by CUSTOMER for the */
/* success of this project. */
/* */
/* FREESCALE disclaims all warranties, express, implied or statutory including,*/
/* but not limited to, implied warranty of merchantability or fitness for a */
/* particular purpose on any hardware, software or advise supplied to the */
/* project by FREESCALE, and or any product resulting from FREESCALE services. */
/* */
/* In no event shall FREESCALE be liable for incidental or consequential */
/* damages arising out of this agreement. CUSTOMER agrees to hold FREESCALE */
/* harmless against any and all claims demands or actions by anyone on account */
/* of any damage,or injury, whether commercial, contractual, or tortuous, */
/* rising directly or indirectly as a result of the advise or assistance */
/* supplied CUSTOMER in connection with product, services or goods supplied */
/* under this Agreement. */
/* */
/*******************************************************************************/
#ifndef S12XFPIM_H /*prevent duplicated includes */
#define S12XFPIM_H
/*------------------------------------------------------------------------------*/
/*** PORTAB - Port AB; 0x00000000 ***/
typedef union {
word Word;
/* Overlapped registers: */
struct {
/*** PORTA - Port A Register; 0x00000000 ***/
union {
byte Byte;
struct {
byte PA0 :1; /* Port A Bit 0 */
byte PA1 :1; /* Port A Bit 1 */
byte PA2 :1; /* Port A Bit 2 */
byte PA3 :1; /* Port A Bit 3 */
byte PA4 :1; /* Port A Bit 4 */
byte PA5 :1; /* Port A Bit 5 */
byte PA6 :1; /* Port A Bit 6 */
byte PA7 :1; /* Port A Bit 7 */
} Bits;
} PORTASTR;
#define PORTA _PORTAB.Overlap_STR.PORTASTR.Byte
#define PORTA_PA0 _PORTAB.Overlap_STR.PORTASTR.Bits.PA0
#define PORTA_PA1 _PORTAB.Overlap_STR.PORTASTR.Bits.PA1
#define PORTA_PA2 _PORTAB.Overlap_STR.PORTASTR.Bits.PA2
#define PORTA_PA3 _PORTAB.Overlap_STR.PORTASTR.Bits.PA3
#define PORTA_PA4 _PORTAB.Overlap_STR.PORTASTR.Bits.PA4
#define PORTA_PA5 _PORTAB.Overlap_STR.PORTASTR.Bits.PA5
#define PORTA_PA6 _PORTAB.Overlap_STR.PORTASTR.Bits.PA6
#define PORTA_PA7 _PORTAB.Overlap_STR.PORTASTR.Bits.PA7
#define PORTA_PA0_MASK 1
#define PORTA_PA1_MASK 2
#define PORTA_PA2_MASK 4
#define PORTA_PA3_MASK 8
#define PORTA_PA4_MASK 16
#define PORTA_PA5_MASK 32
#define PORTA_PA6_MASK 64
#define PORTA_PA7_MASK 128
/*** PORTB - Port B Register; 0x00000001 ***/
union {
byte Byte;
struct {
byte PB0 :1; /* Port B Bit 0 */
byte PB1 :1; /* Port B Bit 1 */
byte PB2 :1; /* Port B Bit 2 */
byte PB3 :1; /* Port B Bit 3 */
byte PB4 :1; /* Port B Bit 4 */
byte PB5 :1; /* Port B Bit 5 */
byte PB6 :1; /* Port B Bit 6 */
byte PB7 :1; /* Port B Bit 7 */
} Bits;
} PORTBSTR;
#define PORTB _PORTAB.Overlap_STR.PORTBSTR.Byte
#define PORTB_PB0 _PORTAB.Overlap_STR.PORTBSTR.Bits.PB0
#define PORTB_PB1 _PORTAB.Overlap_STR.PORTBSTR.Bits.PB1
#define PORTB_PB2 _PORTAB.Overlap_STR.PORTBSTR.Bits.PB2
#define PORTB_PB3 _PORTAB.Overlap_STR.PORTBSTR.Bits.PB3
#define PORTB_PB4 _PORTAB.Overlap_STR.PORTBSTR.Bits.PB4
#define PORTB_PB5 _PORTAB.Overlap_STR.PORTBSTR.Bits.PB5
#define PORTB_PB6 _PORTAB.Overlap_STR.PORTBSTR.Bits.PB6
#define PORTB_PB7 _PORTAB.Overlap_STR.PORTBSTR.Bits.PB7
#define PORTB_PB0_MASK 1
#define PORTB_PB1_MASK 2
#define PORTB_PB2_MASK 4
#define PORTB_PB3_MASK 8
#define PORTB_PB4_MASK 16
#define PORTB_PB5_MASK 32
#define PORTB_PB6_MASK 64
#define PORTB_PB7_MASK 128
} Overlap_STR;
struct {
word PB0 :1; /* Port B Bit 0 */
word PB1 :1; /* Port B Bit 1 */
word PB2 :1; /* Port B Bit 2 */
word PB3 :1; /* Port B Bit 3 */
word PB4 :1; /* Port B Bit 4 */
word PB5 :1; /* Port B Bit 5 */
word PB6 :1; /* Port B Bit 6 */
word PB7 :1; /* Port B Bit 7 */
word PA0 :1; /* Port A Bit 0 */
word PA1 :1; /* Port A Bit 1 */
word PA2 :1; /* Port A Bit 2 */
word PA3 :1; /* Port A Bit 3 */
word PA4 :1; /* Port A Bit 4 */
word PA5 :1; /* Port A Bit 5 */
word PA6 :1; /* Port A Bit 6 */
word PA7 :1; /* Port A Bit 7 */
} Bits;
struct {
word grpPB :8;
word grpPA :8;
} MergedBits;
} PORTABSTR;
extern volatile PORTABSTR _PORTAB @(REG_BASE + 0x00000000);
#define PORTAB _PORTAB.Word
#define PORTAB_PB0 _PORTAB.Bits.PB0
#define PORTAB_PB1 _PORTAB.Bits.PB1
#define PORTAB_PB2 _PORTAB.Bits.PB2
#define PORTAB_PB3 _PORTAB.Bits.PB3
#define PORTAB_PB4 _PORTAB.Bits.PB4
#define PORTAB_PB5 _PORTAB.Bits.PB5
#define PORTAB_PB6 _PORTAB.Bits.PB6
#define PORTAB_PB7 _PORTAB.Bits.PB7
#define PORTAB_PA0 _PORTAB.Bits.PA0
#define PORTAB_PA1 _PORTAB.Bits.PA1
#define PORTAB_PA2 _PORTAB.Bits.PA2
#define PORTAB_PA3 _PORTAB.Bits.PA3
#define PORTAB_PA4 _PORTAB.Bits.PA4
#define PORTAB_PA5 _PORTAB.Bits.PA5
#define PORTAB_PA6 _PORTAB.Bits.PA6
#define PORTAB_PA7 _PORTAB.Bits.PA7
#define PORTAB_PB _PORTAB.MergedBits.grpPB
#define PORTAB_PA _PORTAB.MergedBits.grpPA
#define PORTAB_PB0_MASK 1
#define PORTAB_PB1_MASK 2
#define PORTAB_PB2_MASK 4
#define PORTAB_PB3_MASK 8
#define PORTAB_PB4_MASK 16
#define PORTAB_PB5_MASK 32
#define PORTAB_PB6_MASK 64
#define PORTAB_PB7_MASK 128
#define PORTAB_PA0_MASK 256
#define PORTAB_PA1_MASK 512
#define PORTAB_PA2_MASK 1024
#define PORTAB_PA3_MASK 2048
#define PORTAB_PA4_MASK 4096
#define PORTAB_PA5_MASK 8192
#define PORTAB_PA6_MASK 16384
#define PORTAB_PA7_MASK 32768
#define PORTAB_PB_MASK 255
#define PORTAB_PB_BITNUM 0
#define PORTAB_PA_MASK 65280
#define PORTAB_PA_BITNUM 8
/*** DDRAB - Port AB Data Direction; 0x00000002 ***/
typedef union {
word Word;
/* Overlapped registers: */
struct {
/*** DDRA - Port A Data Direction Register; 0x00000002 ***/
union {
byte Byte;
struct {
byte DDRA0 :1; /* Data Direction Port A Bit 0 */
byte DDRA1 :1; /* Data Direction Port A Bit 1 */
byte DDRA2 :1; /* Data Direction Port A Bit 2 */
byte DDRA3 :1; /* Data Direction Port A Bit 3 */
byte DDRA4 :1; /* Data Direction Port A Bit 4 */
byte DDRA5 :1; /* Data Direction Port A Bit 5 */
byte DDRA6 :1; /* Data Direction Port A Bit 6 */
byte DDRA7 :1; /* Data Direction Port A Bit 7 */
} Bits;
} DDRASTR;
#define DDRA _DDRAB.Overlap_STR.DDRASTR.Byte
#define DDRA_DDRA0 _DDRAB.Overlap_STR.DDRASTR.Bits.DDRA0
#define DDRA_DDRA1 _DDRAB.Overlap_STR.DDRASTR.Bits.DDRA1
#define DDRA_DDRA2 _DDRAB.Overlap_STR.DDRASTR.Bits.DDRA2
#define DDRA_DDRA3 _DDRAB.Overlap_STR.DDRASTR.Bits.DDRA3
#define DDRA_DDRA4 _DDRAB.Overlap_STR.DDRASTR.Bits.DDRA4
#define DDRA_DDRA5 _DDRAB.Overlap_STR.DDRASTR.Bits.DDRA5
#define DDRA_DDRA6 _DDRAB.Overlap_STR.DDRASTR.Bits.DDRA6
#define DDRA_DDRA7 _DDRAB.Overlap_STR.DDRASTR.Bits.DDRA7
#define DDRA_DDRA0_MASK 1
#define DDRA_DDRA1_MASK 2
#define DDRA_DDRA2_MASK 4
#define DDRA_DDRA3_MASK 8
#define DDRA_DDRA4_MASK 16
#define DDRA_DDRA5_MASK 32
#define DDRA_DDRA6_MASK 64
#define DDRA_DDRA7_MASK 128
/*** DDRB - Port B Data Direction Register; 0x00000003 ***/
union {
byte Byte;
struct {
byte DDRB0 :1; /* Data Direction Port B Bit 0 */
byte DDRB1 :1; /* Data Direction Port B Bit 1 */
byte DDRB2 :1; /* Data Direction Port B Bit 2 */
byte DDRB3 :1; /* Data Direction Port B Bit 3 */
byte DDRB4 :1; /* Data Direction Port B Bit 4 */
byte DDRB5 :1; /* Data Direction Port B Bit 5 */
byte DDRB6 :1; /* Data Direction Port B Bit 6 */
byte DDRB7 :1; /* Data Direction Port B Bit 7 */
} Bits;
} DDRBSTR;
#define DDRB _DDRAB.Overlap_STR.DDRBSTR.Byte
#define DDRB_DDRB0 _DDRAB.Overlap_STR.DDRBSTR.Bits.DDRB0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -