📄 ambasio.h
字号:
/* ambaSio.h - ARM AMBA UART header file *//* Copyright 1997-2000 Wind River Systems, Inc. *//*modification history--------------------01c,12apr00,jpd added include of sioLib.h to work with project builds.01b,19nov97,jpd updated comments/documentation in line with latest standards.01a,04sep97,jpd written from st16552Sio.h, version 01c.*/#ifndef __INCambaSioh #define __INCambaSioh #ifdef __cplusplusextern "C" {#endif/* Register description OF ARM AMBA UART */#ifndef _ASMLANGUAGE#include "vxWorks.h"#include "sioLib.h"/* Register offsets from base address */#define UARTDR 0x00 /* UART data register (R/W) */#define RXSTAT 0x04 /* Rx data status register (R/O) */#define UMSEOI 0x04 /* Clr modem status changed int (W/O) */#define H_UBRLCR 0x08 /* } High middle and low bytes (R/W) */#define M_UBRLCR 0x0C /* } of bit rate and line (W/O) */#define L_UBRLCR 0x10 /* } register (W/O) */#define UARTCON 0x14 /* control register (R/W) */#define UARTFLG 0x18 /* FIFO status register (R/O) *//* bit definitions within H_UBRLCR register */#define PARITY_NONE 0x00 /* set no parity */#define ONE_STOP 0x00 /* set one stop bit */#define FIFO_ENABLE 0x10 /* Enable both FIFOs */#define WORD_LEN_5 (0x00 << 5) /* Set UART word lengths */#define WORD_LEN_6 (0x01 << 5)#define WORD_LEN_7 (0x02 << 5)#define WORD_LEN_8 (0x03 << 5)/* bit definitions within UARTCON register */#define UART_ENABLE 0x01 /* Enable the UART *//* bit definitions within UARTFLG register */#define FLG_UTXFF (0x01 << 5) /* UART Tx FIFO Full */#define FLG_URXFE (0x01 << 4) /* UART Rx FIFO Empty */typedef struct AMBA_CHAN { /* must be first */ SIO_CHAN sio; /* standard SIO_CHAN element */ /* callbacks */ STATUS (*getTxChar) (); /* installed Tx callback routine */ STATUS (*putRcvChar) (); /* installed Rx callback routine */ void * getTxArg; /* argument to Tx callback routine */ void * putRcvArg; /* argument to Rx callback routine */ UINT32 * regs; /* AMBA registers */ UINT8 levelRx; /* Rx Interrupt level for this device */ UINT8 levelTx; /* Tx Interrupt level for this device */ UINT32 channelMode; /* such as INT, POLL modes */ int baudRate; /* the current baud rate */ UINT32 xtal; /* UART clock frequency */ } AMBA_CHAN;/* function declarations */extern void ambaIntTx (AMBA_CHAN *pChan);extern void ambaIntRx (AMBA_CHAN *pChan);extern void ambaDevInit (AMBA_CHAN *pChan);#endif /* _ASMLANGUAGE */#ifdef __cplusplus}#endif #endif /* __INCambaSioh */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -