⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io_map.h

📁 MC9S12NE64串口与网络通信源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
/** ###################################################################
**     Filename  : IO_Map.H
** ###################################################################*/

/* Linker pragmas */
#pragma LINK_INFO DERIVATIVE   "MC9S12NE64"
#pragma LINK_INFO OSCFREQUENCY "25000000"

#define REG_BASE 0x0000                /* Base address for the I/O register block */

#ifndef _MC9S12NE64_112_H
#define _MC9S12NE64_112_H

#include "PE_Types.h"

#pragma MESSAGE DISABLE C1106 /* WARNING C1106: Non-standard bitfield type */

/*********************************************/
/*                                           */
/*  I/O map                                */
/*                                           */
/*********************************************/

/**************** interrupt vector table ****************/
#define ivVReserved63           0x0000FF80
#define ivVReserved62           0x0000FF82
#define ivVReserved61           0x0000FF84
#define ivVReserved60           0x0000FF86
#define ivVReserved59           0x0000FF88
#define ivVReserved58           0x0000FF8A
#define ivVReserved57           0x0000FF8C
#define ivVReserved56           0x0000FF8E
#define ivVReserved55           0x0000FF90
#define ivVReserved54           0x0000FF92
#define ivVReserved53           0x0000FF94
#define ivVReserved52           0x0000FF96
#define ivVReserved51           0x0000FF98
#define ivVReserved50           0x0000FF9A
#define ivVReserved49           0x0000FF9C
#define ivVReserved48           0x0000FF9E
#define ivINT_EMACExcessiveCollision 0x0000FFA0
#define ivINT_EMACLateCollision 0x0000FFA2
#define ivINT_EMACBabblingReceiveError 0x0000FFA4
#define ivINT_EMACReceiveBufferBOverrun 0x0000FFA6
#define ivINT_EMACReceiveBufferAOverrun 0x0000FFA8
#define ivINT_EMACReceiveError  0x0000FFAA
#define ivINT_EMACMIIManagementTransferComplete 0x0000FFAC
#define ivINT_EMACReceiveFlowControl 0x0000FFAE
#define ivINT_EMACFrameTransmissionComplete 0x0000FFB0
#define ivINT_EMACReceiveBufferBComplete 0x0000FFB2
#define ivINT_EMACReceiveBufferAComplete 0x0000FFB4
#define ivINT_EPHY              0x0000FFB6
#define ivVflash                0x0000FFB8
#define ivVReserved34           0x0000FFBA
#define ivVReserved33           0x0000FFBC
#define ivVReserved32           0x0000FFBE
#define ivViic                  0x0000FFC0
#define ivVReserved30           0x0000FFC2
#define ivVcrgscm               0x0000FFC4
#define ivVcrgplllck            0x0000FFC6
#define ivVReserved27           0x0000FFC8
#define ivVportg                0x0000FFCA
#define ivVporth                0x0000FFCC
#define ivVportj                0x0000FFCE
#define ivVReserved23           0x0000FFD0
#define ivVatd                  0x0000FFD2
#define ivVsci1                 0x0000FFD4
#define ivVsci0                 0x0000FFD6
#define ivVspi                  0x0000FFD8
#define ivVtimpaie              0x0000FFDA
#define ivVtimpaovf             0x0000FFDC
#define ivVtimovf               0x0000FFDE
#define ivVtimch7               0x0000FFE0
#define ivVtimch6               0x0000FFE2
#define ivVtimch5               0x0000FFE4
#define ivVtimch4               0x0000FFE6
#define ivVReserved11           0x0000FFE8
#define ivVReserved10           0x0000FFEA
#define ivVReserved9            0x0000FFEC
#define ivVReserved8            0x0000FFEE
#define ivVrti                  0x0000FFF0
#define ivVirq                  0x0000FFF2
#define ivVxirq                 0x0000FFF4
#define ivVswi                  0x0000FFF6
#define ivVtrap                 0x0000FFF8
#define ivVcop                  0x0000FFFA
#define ivVclkmon               0x0000FFFC
#define ivVreset                0x0000FFFE

/**************** registers I/O map ****************/

/*** PORTAB - Port AB Register; 0x00000000 ***/
typedef union {
  word Word;
   /* Overlapped registers: */
  struct {
    /*** PORTA - Port A Register; 0x00000000 ***/
    union {
      byte Byte;
      struct {
        byte BIT0        :1;                                       /* Port A Bit0, ADDR8, DATA8, DATA0 */
        byte BIT1        :1;                                       /* Port A Bit1, ADDR9, DATA9 DATA1 */
        byte BIT2        :1;                                       /* Port A Bit2, ADDR10, DATA10, DATA2 */
        byte BIT3        :1;                                       /* Port A Bit3, ADDR11, DATA11, DATA3 */
        byte BIT4        :1;                                       /* Port A Bit4, ADDR12, DATA12, DATA4 */
        byte BIT5        :1;                                       /* Port A Bit5, ADDR13, DATA13, DATA5 */
        byte BIT6        :1;                                       /* Port A Bit6, ADDR14, DATA14, DATA6 */
        byte BIT7        :1;                                       /* Port A Bit7, ADDR15, DATA15, DATA7 */
      } Bits;
      struct {
        byte grpBIT :8;
      } MergedBits;
    } PORTASTR;
    #define PORTA _PORTAB.Overlap_STR.PORTASTR.Byte
    #define PORTA_BIT0 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT0
    #define PORTA_BIT1 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT1
    #define PORTA_BIT2 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT2
    #define PORTA_BIT3 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT3
    #define PORTA_BIT4 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT4
    #define PORTA_BIT5 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT5
    #define PORTA_BIT6 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT6
    #define PORTA_BIT7 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT7
    
    #define PORTA_BIT _PORTAB.Overlap_STR.PORTASTR.MergedBits.grpBIT
    
    #define PORTA_BIT0_MASK  1
    #define PORTA_BIT1_MASK  2
    #define PORTA_BIT2_MASK  4
    #define PORTA_BIT3_MASK  8
    #define PORTA_BIT4_MASK  16
    #define PORTA_BIT5_MASK  32
    #define PORTA_BIT6_MASK  64
    #define PORTA_BIT7_MASK  128
    #define PORTA_BIT_MASK  255
    #define PORTA_BIT_BITNUM  0


    /*** PORTB - Port B Register; 0x00000001 ***/
    union {
      byte Byte;
      struct {
        byte BIT0        :1;                                       /* Port B Bit 0, ADDR0, DATA0 */
        byte BIT1        :1;                                       /* Port B Bit1, ADDR1, DATA1 */
        byte BIT2        :1;                                       /* Port B Bit2, ADDR2, DATA2 */
        byte BIT3        :1;                                       /* Port B Bit3, ADDR3, DATA3 */
        byte BIT4        :1;                                       /* Port B Bit4, ADDR4, DATA4 */
        byte BIT5        :1;                                       /* Port B Bit5, ADDR5, DATA5 */
        byte BIT6        :1;                                       /* Port B Bit6, ADDR6, DATA6 */
        byte BIT7        :1;                                       /* Port B Bit7, ADDR7, DATA7 */
      } Bits;
      struct {
        byte grpBIT :8;
      } MergedBits;
    } PORTBSTR;
    #define PORTB _PORTAB.Overlap_STR.PORTBSTR.Byte
    #define PORTB_BIT0 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT0
    #define PORTB_BIT1 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT1
    #define PORTB_BIT2 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT2
    #define PORTB_BIT3 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT3
    #define PORTB_BIT4 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT4
    #define PORTB_BIT5 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT5
    #define PORTB_BIT6 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT6
    #define PORTB_BIT7 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT7
    
    #define PORTB_BIT _PORTAB.Overlap_STR.PORTBSTR.MergedBits.grpBIT
    
    #define PORTB_BIT0_MASK  1
    #define PORTB_BIT1_MASK  2
    #define PORTB_BIT2_MASK  4
    #define PORTB_BIT3_MASK  8
    #define PORTB_BIT4_MASK  16
    #define PORTB_BIT5_MASK  32
    #define PORTB_BIT6_MASK  64
    #define PORTB_BIT7_MASK  128
    #define PORTB_BIT_MASK  255
    #define PORTB_BIT_BITNUM  0


  } Overlap_STR;

  struct {
    word BIT0        :1;                                       /* Port B Bit 0, ADDR0, DATA0 */
    word BIT1        :1;                                       /* Port B Bit1, ADDR1, DATA1 */
    word BIT2        :1;                                       /* Port B Bit2, ADDR2, DATA2 */
    word BIT3        :1;                                       /* Port B Bit3, ADDR3, DATA3 */
    word BIT4        :1;                                       /* Port B Bit4, ADDR4, DATA4 */
    word BIT5        :1;                                       /* Port B Bit5, ADDR5, DATA5 */
    word BIT6        :1;                                       /* Port B Bit6, ADDR6, DATA6 */
    word BIT7        :1;                                       /* Port B Bit7, ADDR7, DATA7 */
    word BIT8        :1;                                       /* Port A Bit0, ADDR8, DATA8, DATA0 */
    word BIT9        :1;                                       /* Port A Bit1, ADDR9, DATA9 DATA1 */
    word BIT10       :1;                                       /* Port A Bit2, ADDR10, DATA10, DATA2 */
    word BIT11       :1;                                       /* Port A Bit3, ADDR11, DATA11, DATA3 */
    word BIT12       :1;                                       /* Port A Bit4, ADDR12, DATA12, DATA4 */
    word BIT13       :1;                                       /* Port A Bit5, ADDR13, DATA13, DATA5 */
    word BIT14       :1;                                       /* Port A Bit6, ADDR14, DATA14, DATA6 */
    word BIT15       :1;                                       /* Port A Bit7, ADDR15, DATA15, DATA7 */
  } Bits;
  struct {
    word grpBIT  :16;
  } MergedBits;
} PORTABSTR;
extern volatile PORTABSTR _PORTAB @(REG_BASE + 0x00000000);
#define PORTAB _PORTAB.Word
#define PORTAB_BIT0 _PORTAB.Bits.BIT0
#define PORTAB_BIT1 _PORTAB.Bits.BIT1
#define PORTAB_BIT2 _PORTAB.Bits.BIT2
#define PORTAB_BIT3 _PORTAB.Bits.BIT3
#define PORTAB_BIT4 _PORTAB.Bits.BIT4
#define PORTAB_BIT5 _PORTAB.Bits.BIT5
#define PORTAB_BIT6 _PORTAB.Bits.BIT6
#define PORTAB_BIT7 _PORTAB.Bits.BIT7
#define PORTAB_BIT8 _PORTAB.Bits.BIT8
#define PORTAB_BIT9 _PORTAB.Bits.BIT9
#define PORTAB_BIT10 _PORTAB.Bits.BIT10
#define PORTAB_BIT11 _PORTAB.Bits.BIT11
#define PORTAB_BIT12 _PORTAB.Bits.BIT12
#define PORTAB_BIT13 _PORTAB.Bits.BIT13
#define PORTAB_BIT14 _PORTAB.Bits.BIT14
#define PORTAB_BIT15 _PORTAB.Bits.BIT15
#define PORTAB_BIT _PORTAB.MergedBits.grpBIT

#define PORTAB_BIT0_MASK  1
#define PORTAB_BIT1_MASK  2
#define PORTAB_BIT2_MASK  4
#define PORTAB_BIT3_MASK  8
#define PORTAB_BIT4_MASK  16
#define PORTAB_BIT5_MASK  32
#define PORTAB_BIT6_MASK  64
#define PORTAB_BIT7_MASK  128
#define PORTAB_BIT8_MASK  256
#define PORTAB_BIT9_MASK  512
#define PORTAB_BIT10_MASK  1024
#define PORTAB_BIT11_MASK  2048
#define PORTAB_BIT12_MASK  4096
#define PORTAB_BIT13_MASK  8192
#define PORTAB_BIT14_MASK  16384
#define PORTAB_BIT15_MASK  32768
#define PORTAB_BIT_MASK  65535
#define PORTAB_BIT_BITNUM  0






/*** DDRAB - Port AB Data Direction Register; 0x00000002 ***/
typedef union {
  word Word;
   /* Overlapped registers: */
  struct {
    /*** DDRA - Port A Data Direction Register; 0x00000002 ***/
    union {
      byte Byte;
      struct {
        byte BIT0        :1;                                       /* Data Direction Port A Bit 0 */
        byte BIT1        :1;                                       /* Data Direction Port A Bit 1 */
        byte BIT2        :1;                                       /* Data Direction Port A Bit 2 */
        byte BIT3        :1;                                       /* Data Direction Port A Bit 3 */
        byte BIT4        :1;                                       /* Data Direction Port A Bit 4 */
        byte BIT5        :1;                                       /* Data Direction Port A Bit 5 */
        byte BIT6        :1;                                       /* Data Direction Port A Bit 6 */
        byte BIT7        :1;                                       /* Data Direction Port A Bit 7 */
      } Bits;
      struct {
        byte grpBIT :8;
      } MergedBits;
    } DDRASTR;
    #define DDRA _DDRAB.Overlap_STR.DDRASTR.Byte
    #define DDRA_BIT0 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT0
    #define DDRA_BIT1 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT1
    #define DDRA_BIT2 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT2
    #define DDRA_BIT3 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT3
    #define DDRA_BIT4 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT4
    #define DDRA_BIT5 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT5
    #define DDRA_BIT6 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT6
    #define DDRA_BIT7 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT7
    
    #define DDRA_BIT _DDRAB.Overlap_STR.DDRASTR.MergedBits.grpBIT
    
    #define DDRA_BIT0_MASK  1
    #define DDRA_BIT1_MASK  2
    #define DDRA_BIT2_MASK  4
    #define DDRA_BIT3_MASK  8
    #define DDRA_BIT4_MASK  16
    #define DDRA_BIT5_MASK  32
    #define DDRA_BIT6_MASK  64
    #define DDRA_BIT7_MASK  128
    #define DDRA_BIT_MASK  255
    #define DDRA_BIT_BITNUM  0


    /*** DDRB - Port B Data Direction Register; 0x00000003 ***/
    union {
      byte Byte;
      struct {
        byte BIT0        :1;                                       /* Data Direction Port B Bit 0 */
        byte BIT1        :1;                                       /* Data Direction Port B Bit 1 */
        byte BIT2        :1;                                       /* Data Direction Port B Bit 2 */
        byte BIT3        :1;                                       /* Data Direction Port B Bit 3 */
        byte BIT4        :1;                                       /* Data Direction Port B Bit 4 */
        byte BIT5        :1;                                       /* Data Direction Port B Bit 5 */
        byte BIT6        :1;                                       /* Data Direction Port B Bit 6 */
        byte BIT7        :1;                                       /* Data Direction Port B Bit 7 */
      } Bits;
      struct {
        byte grpBIT :8;
      } MergedBits;
    } DDRBSTR;
    #define DDRB _DDRAB.Overlap_STR.DDRBSTR.Byte
    #define DDRB_BIT0 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT0
    #define DDRB_BIT1 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT1
    #define DDRB_BIT2 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT2
    #define DDRB_BIT3 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT3
    #define DDRB_BIT4 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT4
    #define DDRB_BIT5 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT5
    #define DDRB_BIT6 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT6
    #define DDRB_BIT7 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT7

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -