nuc1xx.h

来自「cortex-m0 LCD1602程序」· C头文件 代码 · 共 2,220 行 · 第 1/5 页

H
2,220
字号
    __IO uint32_t  DIV_X_EN:1;            
    __I  uint32_t  RESERVE1:2;
} UART_BAUD_T;

typedef struct
{
    __I  uint32_t  RESERVE0:1;
    __IO uint32_t  TX_SELECT:1;
    __I  uint32_t  RESERVE1:3;
    __IO uint32_t  INV_TX:1;            
    __IO uint32_t  INV_RX:1;
    __I  uint32_t  RESERVE2:25;
} UART_IRCR_T;

typedef struct
{
    __IO uint32_t  LIN_BKFL:4;
    __I  uint32_t  RESERVE0:2;
    __IO uint32_t  LIN_RX_EN:1;
    __IO uint32_t  LIN_TX_EN:1;            
    __IO uint32_t  RS485_NMM:1;
    __IO uint32_t  RS485_AAD:1;
    __IO uint32_t  RS485_AUD:1;
    __I  uint32_t  RESERVE1:4;
    __IO uint32_t  RS485_ADD_EN:1;
    __I  uint32_t  RESERVE2:8;
    __IO uint32_t  ADDR_MATCH:8;
} UART_ALTCON_T;



typedef struct
{
    __IO uint32_t  FUN_SEL:2;
    __I  uint32_t  RESERVE0:30;

} UART_FUNSEL_T;


typedef struct
{
    
    union {
        __IO uint32_t u32DATA;
        __IO uint32_t DATA;
    };
    union {
        __IO uint32_t u32IER;
        struct {
            __IO uint32_t  RDA_IEN:1;
            __IO uint32_t  THRE_IEN:1;
            __IO uint32_t  RLS_IEN:1;
            __IO uint32_t  MODEM_IEN:1;
            __IO uint32_t  RTO_IEN:1;          
            __IO uint32_t  BUF_ERR_IEN:1;        
            __IO uint32_t  WAKE_EN:1;
            __I  uint32_t  RESERVE0:1; 
            __IO uint32_t  LIN_RX_BRK_IEN:1;
            __I  uint32_t  RESERVE1:2;
            __IO uint32_t  TIME_OUT_EN:1;
            __IO uint32_t  AUTO_RTS_EN:1;
            __IO uint32_t  AUTO_CTS_EN:1;
            __IO uint32_t  DMA_TX_EN:1;
            __IO uint32_t  DMA_RX_EN:1;
            __I  uint32_t  RESERVE2:16;
        } IER;
    };

    union {
        __IO uint32_t u32FCR;
        struct {
            __I  uint32_t  RESERVE0:1;
            __IO uint32_t  RFR:1;
            __IO uint32_t  TFR:1;
            __IO uint32_t  RESERVE1:1;
            __IO uint32_t  RFITL:4;          
            __IO uint32_t  RX_DIS:1; 
            __I  uint32_t  RESERVE2 :7;
            __IO uint32_t  RTS_TRI_LEV:4;
            __I  uint32_t  RESERVE3 :4;
        } FCR;
    };

    union {
        __IO uint32_t u32LCR;
        struct {
            __IO uint32_t  WLS:2;
            __IO uint32_t  NSB:1;
            __IO uint32_t  PBE:1;
            __IO uint32_t  EPE:1;
            __IO uint32_t  SPE:1;          
            __IO uint32_t  BCB:1; 
            __I  uint32_t  RESERVE :25;
        } LCR;
    };

    union {
        __IO uint32_t u32MCR;
        struct {
            __I  uint32_t  RESERVE0:1;
            __IO uint32_t  RTS:1;
            __I  uint32_t  RESERVE1:7;
            __IO uint32_t  LEV_RTS:1;
            __I  uint32_t  RESERVE2:3;          
            __IO uint32_t  RTS_ST:1; 
            __I  uint32_t  RESERVE3:18;
        } MCR;
    };


    union {
        __IO uint32_t u32MSR;
        struct {
            __IO uint32_t  DCTSF:1;
            __I  uint32_t  RESERVE0:3;
            __IO uint32_t  CTS_ST:1;
            __I  uint32_t  RESERVE1:3;
            __IO uint32_t  LEV_CTS:1;          
            __I  uint32_t  RESERVE2:23;
        } MSR;
    };


    union {
        __IO uint32_t u32FSR;
        struct {
            __IO uint32_t  RX_OVER_IF:1;
            __I  uint32_t  RESERVE0:2;
            __IO uint32_t  RS485_ADD_DETF:1;
            __IO uint32_t  PEF:1;
            __IO uint32_t  FEF:1;
            __IO uint32_t  BIF:1;
            __I  uint32_t  RESERVE1:1;
            __IO uint32_t  RX_POINTER:6;
            __IO uint32_t  RX_EMPTY:1;
            __IO uint32_t  RX_FULL:1;
            __IO uint32_t  TX_POINTER:6;
            __IO uint32_t  TX_EMPTY:1;
            __IO uint32_t  TX_FULL:1;
            __IO uint32_t  TX_OVER_IF:1;
            __I  uint32_t  RESERVE2:3;
            __IO uint32_t  TE_FLAG:1;
            __I  uint32_t  RESERVE3:3;
        } FSR;
    };

    union {
        __IO uint32_t u32ISR;
        struct {
            __IO uint32_t  RDA_IF:1;
            __IO uint32_t  THRE_IF:1;
            __IO uint32_t  RLS_IF:1;
            __IO uint32_t  MODEM_IF:1;
            __IO uint32_t  TOUT_IF:1;
            __IO uint32_t  BUF_ERR_IF:1;
            __I  uint32_t  RESERVE0:1;
            __IO uint32_t  LIN_RX_BREAK_IF:1;
            __IO uint32_t  RDA_INT:1;
            __IO uint32_t  THRE_INT:1;
            __IO uint32_t  RLS_INT:1;
            __IO uint32_t  MODEM_INT:1;
            __IO uint32_t  TOUT_INT:1;
            __IO uint32_t  BUF_ERR_INT:1;
            __I  uint32_t  RESERVE1:1;
            __IO uint32_t  LIN_RX_BREAK_INT:1;
            __I  uint32_t  RESERVE2:2;
            __IO uint32_t  HW_RLS_IF:1;
            __IO uint32_t  HW_MODEM_IF:1;
            __IO uint32_t  HW_TOUT_IF:1;
            __IO uint32_t  HW_BUF_ERR_IF:1;
            __I  uint32_t  RESERVE3:1;
            __IO uint32_t  HW_LIN_RX_BREAK_IF:1;
            __I  uint32_t  RESERVE4:2;
            __IO uint32_t  HW_RLS_INT:1;
            __IO uint32_t  HW_MODEM_INT:1;
            __IO uint32_t  HW_TOUT_INT:1;
            __IO uint32_t  HW_BUF_ERR_INT:1;
            __I  uint32_t  RESERVE5:1;
            __IO uint32_t  HW_LIN_RX_BREAK_INT:1;

        } ISR;
    };

    union {
        __IO uint32_t u32TOR;
        struct {
            __IO uint32_t  TOIC:8;
            __IO uint32_t  DLY:8;
            __I  uint32_t  RESERVE1:16;
        } TOR;
    };

    union {
        __IO uint32_t u32BAUD;
        struct {
            __IO uint32_t  BRD:16;
            __I  uint32_t  RESERVE0:8;
            __IO uint32_t  DIVIDER_X:4;
            __IO uint32_t  DIV_X_ONE:1;
            __IO uint32_t  DIV_X_EN:1;
            __I  uint32_t  RESERVE1:2;
        } BAUD;
    };

    union {
        __IO uint32_t u32IRCR;
        struct {
            __I  uint32_t  RESERVE0:1;
            __IO uint32_t  TX_SELECT:1;
            __I  uint32_t  RESERVE1:3;
            __IO uint32_t  INV_TX:1;
            __IO uint32_t  INV_RX:1;
            __I  uint32_t  RESERVE2:25;
        } IRCR;
    };

    union {
        __IO uint32_t u32ALTCON;
        struct {
            __IO uint32_t  LIN_BKFL:4;
            __I  uint32_t  RESERVE0:2;
            __IO uint32_t  LIN_RX_EN:1;
            __IO uint32_t  LIN_TX_EN:1;
            __IO uint32_t  RS485_NMM:1;
            __IO uint32_t  RS485_AAD:1;
            __IO uint32_t  RS485_AUD:1;
            __I  uint32_t  RESERVE1:4;
            __IO uint32_t  RS485_ADD_EN :1;
            __I  uint32_t  RESERVE2 :8;
            __IO uint32_t  ADDR_MATCH :8;
        } ALTCON;
    };


    union {
        __IO uint32_t u32FUNSEL;
        struct {
            __IO uint32_t  FUN_SEL:2;
            __I  uint32_t  RESERVE0:30;
        } FUNSEL;
    };
} UART_T;




/* UART THR Bit Field Definitions */
#define UART_THR_THR_Pos         0
#define UART_THR_THR_Msk        (0xFul << UART_THR_THR_Pos)

/* UART RBR Bit Field Definitions */
#define UART_RBR_RBR_Pos         0
#define UART_RBR_RBR_Msk        (0xFul << UART_RBR_RBR_Pos)

/* UART IER Bit Field Definitions */
#define UART_IER_DMA_RX_EN_Pos      15
#define UART_IER_DMA_RX_EN_Msk      (1ul << UART_IER_DMA_RX_EN_Pos)

#define UART_IER_DMA_TX_EN_Pos      14
#define UART_IER_DMA_TX_EN_Msk      (1ul << UART_IER_DMA_TX_EN_Pos)

#define UART_IER_AUTO_CTS_EN_Pos    13
#define UART_IER_AUTO_CTS_EN_Msk    (1ul << UART_IER_AUTO_CTS_EN_Pos)

#define UART_IER_AUTO_RTS_EN_Pos    12
#define UART_IER_AUTO_RTS_EN_Msk    (1ul << UART_IER_AUTO_RTS_EN_Pos)

#define UART_IER_TIME_OUT_EN_Pos    11
#define UART_IER_TIME_OUT_EN_Msk    (1ul << UART_IER_TIME_OUT_EN_Pos)

#define UART_IER_LIN_RX_BRK_IEN_Pos 8
#define UART_IER_LIN_RX_BRK_IEN_Msk (1ul << UART_IER_LIN_RX_BRK_IEN_Pos)

#define UART_IER_WAKE_EN_Pos        6
#define UART_IER_WAKE_EN_Msk        (1ul << UART_IER_WAKE_EN_Pos)

#define UART_IER_BUF_ERR_IEN_Pos    5
#define UART_IER_BUF_ERR_IEN_Msk    (1ul << UART_IER_BUF_ERR_IEN_Pos)

#define UART_IER_RTO_IEN_Pos        4
#define UART_IER_RTO_IEN_Msk        (1ul << UART_IER_RTO_IEN_Pos)

#define UART_IER_MODEM_IEN_Pos      3
#define UART_IER_MODEM_IEN_Msk      (1ul << UART_IER_MODEM_IEN_Pos)

#define UART_IER_RLS_IEN_Pos        2
#define UART_IER_RLS_IEN_Msk        (1ul << UART_IER_RLS_IENN_Pos)

#define UART_IER_THRE_IEN_Pos       1
#define UART_IER_THRE_IEN_Msk       (1ul << UART_IER_THRE_IEN_Pos)

#define UART_IER_RDA_IEN_Pos        0
#define UART_IER_RDA_IEN_Msk        (1ul << UART_IER_RDA_IEN_Pos)

/* UART FCR Bit Field Definitions */
#define UART_FCR_RTS_TRI_LEV_Pos    16
#define UART_FCR_RTS_TRI_LEV_Msk    (0xFul << UART_FCR_RTS_TRI_LEV_Pos)

#define UART_FCR_RX_DIS_Pos         8
#define UART_FCR_RX_DIS_Msk         (1ul << UART_FCR_RX_DIS_Pos)

#define UART_FCR_RFITL_Pos          4
#define UART_FCR_RFITL_Msk          (0xFul << UART_FCR_RFITL_Pos)

#define UART_FCR_TFR_Pos            2
#define UART_FCR_TFR_Msk            (1ul << UART_FCR_TFR_Pos)

#define UART_FCR_RFR_Pos            1
#define UART_FCR_RFR_Msk            (1ul << UART_FCR_RFR_Pos)

/* UART LCR Bit Field Definitions */
#define UART_LCR_BCB_Pos            6
#define UART_LCR_BCB_Msk            (1ul << UART_LCR_BCB_Pos)

#define UART_LCR_SPE_Pos            5
#define UART_LCR_SPE_Msk            (1ul << UART_LCR_SPE_Pos)

#define UART_LCR_EPE_Pos            4
#define UART_LCR_EPE_Msk            (1ul << UART_LCR_EPE_Pos)

#define UART_LCR_PBE_Pos            3
#define UART_LCR_PBE_Msk            (1ul << UART_LCR_PBE_Pos)

#define UART_LCR_NSB_Pos            2
#define UART_LCR_NSB_Msk            (1ul << UART_LCR_NSB_Pos)

#define UART_LCR_WLS_Pos            0
#define UART_LCR_WLS_Msk            (0x3ul << UART_LCR_WLS_Pos)

/* UART MCR Bit Field Definitions */
#define UART_MCR_RTS_ST_Pos         13
#define UART_MCR_RTS_ST_Msk         (1ul << UART_MCR_RTS_ST_Pos)

#define UART_MCR_LEV_RTS_Pos        9
#define UART_MCR_LEV_RTS_Msk        (1ul << UART_MCR_LEV_RTS_Pos)

#define UART_MCR_RTS_Pos            1
#define UART_MCR_RTS_Msk            (1ul << UART_MCR_RTS_Pos)


/* UART MSR Bit Field Definitions */
#define UART_MSR_LEV_CTS_Pos        8
#define UART_MSR_LEV_CTS_Msk        (1ul << UART_MSR_LEV_CTS_Pos)

#define UART_MSR_CTS_ST_Pos         4
#define UART_MSR_CTS_ST_Msk         (1ul << UART_MSR_CTS_ST_Pos)

#define UART_MSR_DCTSF_Pos          0
#define UART_MSR_DCTSF_Msk          (1ul << UART_MSR_DCTSF_Pos)


/* UART FSR Bit Field Definitions */
#define UART_FSR_TE_FLAG_Pos        28
#define UART_FSR_TE_FLAG_Msk        (1ul << UART_FSR_TE_FLAG_Pos)

#define UART_FSR_TX_OVER_IF_Pos     24
#define UART_FSR_TX_OVER_IF_Msk     (1ul << UART_FSR_TX_OVER_IF_Pos)

#define UART_FSR_TX_FULL_Pos        23
#define UART_FSR_TX_FULL_Msk        (1ul << UART_FSR_TX_FULL_Pos)

#define UART_FSR_TX_EMPTY_Pos       22
#define UART_FSR_TX_EMPTY_Msk       (1ul << UART_FSR_TX_EMPTY_Pos)

#define UART_FSR_TX_POINTER_Pos     16
#define UART_FSR_TX_POINTER_Msk     (0x3Ful << UART_FSR_TX_POINTER_Pos)

#define UART_FSR_RX_FULL_Pos        15
#define UART_FSR_RX_FULL_Msk        (1ul << UART_FSR_RX_FULL_Pos)

#define UART_FSR_RX_EMPTY_Pos       14
#define UART_FSR_RX_EMPTY_Msk       (1ul << UART_FSR_RX_EMPTY_Pos)

#define UART_FSR_RX_POINTER_Pos     8
#define UART_FSR_RX_POINTER_Msk     (0x3Ful << UART_FSR_RX_POINTER_Pos)

#define UART_FSR_BIF_Pos            6
#define UART_FSR_BIF_Msk            (1ul << UART_FSR_BIF_Pos)

#define UART_FSR_FEF_Pos            5
#define UART_FSR_FEF_Msk            (1ul << UART_FSR_FEF_Pos)

#define UART_FSR_PEF_Pos            4
#define UART_FSR_PEF_Msk            (1ul << UART_FSR_PEF_Pos)

#define UART_FSR_RS485_ADD_DETF_Pos 3
#define UART_FSR_RS485_ADD_DETF_Msk (1ul << UART_FSR_RS485_ADD_DETF_Pos)

#define UART_FSR_RX_OVER_IF_Pos     0
#define UART_FSR_RX_OVER_IF_Msk     (1ul << UART_FSR_RX_OVER_IF_Pos)

/* UART ISR Bit Field Definitions */
#define UART_ISR_HW_LIN_RX_BREAK_INT_Pos   31
#define UART_ISR_HW_LIN_RX_BREAK_INT_Msk   (1ul << UART_ISR_HW_LIN_RX_BREAK_INT_Pos)

#define UART_ISR_HW_BUF_ERR_INT_Pos        29
#define UART_ISR_HW_BUF_ERR_INT_Msk        (1ul << UART_ISR_HW_BUF_ERR_INT_Pos)

#define UART_ISR_HW_TOUT_INT_Pos           28
#define UART_ISR_HW_TOUT_INT_Msk           (1ul << UART_ISR_HW_TOUT_INT_Pos)

#define UART_ISR_HW_MODEM_INT_Pos          27
#define UART_ISR_HW_MODEM_INT_Msk          (1ul << UART_ISR_HW_MODEM_INT_Pos)

#define UART_ISR_HW_RLS_INT_Pos            26
#define UART_ISR_HW_RLS_INT_Msk            (1ul << UART_ISR_HW_RLS_INT_Pos)

#define UART_ISR_HW_LIN_RX_BREAK_IF_Pos    23
#define UART_ISR_HW_LIN_RX_BREAK_IF_Msk    (1ul << UART_ISR_HW_LIN_RX_BREAK_IF_Pos)

#define UART_ISR_HW_BUF_ERR_IF_Pos         21
#define UART_ISR_HW_BUF_ERR_IF_Msk         (1ul << UART_ISR_HW_BUF_ERR_IF_Pos)

#define UART_ISR_HW_TOUT_IF_Pos            20
#define UART_ISR_HW_TOUT_IF_Msk            (1ul << UART_ISR_HW_TOUT_IFF_Pos)

#define UART_ISR_HW_MODEM_IF_Pos           19
#define UART_ISR_HW_MODEM_IF_Msk           (1ul << UART_ISR_HW_MODEM_IF_Pos)

#define UART_ISR_HW_RLS_IF_Pos             18
#define UART_ISR_HW_RLS_IF_Msk             (1ul << UART_ISR_HW_RLS_IF_Pos)

#define UART_ISR_LIN_RX_BREAK_INT_Pos      15
#define UART_ISR_LIN_RX_BREAK_INT_Msk      (1ul << UART_ISR_LIN_RX_BREAK_INT_Pos)

#define UART_ISR_BUF_ERR_INT_Pos           13
#define UART_ISR_BUF_ERR_INT_Msk           (1ul << UART_ISR_BUF_ERR_INT_Pos)

#define UART_ISR_TOUT_INT_Pos              12
#define UART_ISR_TOUT_INT_Msk              (1ul << UART_ISR_TOUT_INT_Pos)

#define UART_ISR_MODEM_INT_Pos             11    
#define UART_ISR_MODEM_INT_Msk             (1ul << UART_ISR_MODEM_INT_Pos)

#define UART_ISR_RLS_INT_Pos               10    
#define UART_ISR_RLS_INT_Msk               (1ul << UART_ISR_RLS_INT_Pos)

#define UART_ISR_THRE_INT_Pos              9    
#define UART_ISR_THRE_INT_Msk              (1ul << UART_ISR_THRE_INT_Pos)

#define UART_ISR_RDA_INT_Pos               8    
#define UART_ISR_RDA_INT_Msk               (1ul << UART_ISR_RDA_INT_Pos)

#define UART_ISR_LIN_RX_BREAK_IF_Pos       7    

⌨️ 快捷键说明

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