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

📄 st16c554sio.h

📁 vxworks下的16c554驱动
💻 H
字号:
/* ST16C554Sio.h - header file for binary interface ST16C554 UART driver *//*modification history--------------------01a,30dec04,xf  written (from ST16C554Serial.h)*/#ifndef	__INCST16C554Sioh#define	__INCST16C554Sioh#ifdef __cplusplusextern "C" {#endif#ifndef _ASMLANGUAGE#include "vxWorks.h"#include "sioLib.h"/* channel data structure  */typedef struct 		/* ST16C554_CHAN */    {    SIO_DRV_FUNCS * pDrvFuncs;       /* driver functions */    STATUS      (*getTxChar) ();     /* pointer to xmitr function */    STATUS      (*putRcvChar) ();    /* pointer tp rcvr function */    void *      getTxArg;    void *      putRcvArg;    UINT16  int_vec;                 /* interrupt vector number */    UINT16  channelMode;             /* SIO_MODE_[INT | POLL] */    UCHAR   (*inByte) (int);         /* routine to read a byte from register */    void    (*outByte)(int,char);    /* routine to write a byte to register */    ULONG   lcr;                     /* UART line control register */    ULONG   lst;                     /* UART line status register */    ULONG   mdc;                     /* UART modem control register */    ULONG   msr;                     /* UART modem status register */    ULONG   ier;                     /* UART interrupt enable register */    ULONG   iid;                     /* UART interrupt status register */    ULONG   brdl;                    /* UART baud rate register */    ULONG   brdh;                    /* UART baud rate register */    ULONG   data;                    /* UART data register */    ULONG   options;		     /* UART hardware options */    ULONG   fcr;                     /* UART FIFO Status Register*/     } ST16C554_CHAN;typedef struct			/* BAUD */    {    int rate;		/* a baud rate */    int preset;		/* counter preset value to write to DUSCC_CTPR[HL]A */    } BAUD;/* register definitions */#define UART_THR        0x00	/* Transmitter holding reg. */#define UART_RDR        0x00	/* Receiver data reg.       */#define UART_BRDL       0x00	/* Baud rate divisor (LSB)  */#define UART_BRDH       0x01	/* Baud rate divisor (MSB)  */#define UART_IER        0x01	/* Interrupt enable reg.    */#define UART_IID        0x02	/* Interrupt Status reg.        */#define UART_LCR        0x03	/* Line control reg.        */#define UART_MDC        0x04	/* Modem control reg.       */#define UART_LST        0x05	/* Line status reg.         */#define UART_MSR        0x06	/* Modem status reg.        *//* equates for interrupt enable register */#define ST16C554_IER_RXRDY	0x01	/* receiver data ready */#define ST16C554_IER_TBE	0x02	/* transmit bit enable */#define ST16C554_IER_LST	0x04	/* line status interrupts */#define ST16C554_IER_MSI	0x08	/* modem status interrupts *//* equates for interrupt identification register */#define ST16C554_IIR_IP	0x01	/* interrupt pending bit */#define ST16C554_IIR_MASK	0x0f	/* interrupt id bits mask */#define ST16C554_IIR_MSTAT  0x00	/* modem status interrupt */#define ST16C554_IIR_THRE	0X02	/* transmit holding register empty */#define ST16C554_IIR_RBRF	0x04	/* receiver buffer register full */#define ST16C554_IIR_SEOB	0x06	/* serialization error or break *//* equates for line control register */#define ST16C554_LCR_CS5	0x00	/* 5 bits data size */#define ST16C554_LCR_CS6	0x01	/* 6 bits data size */#define ST16C554_LCR_CS7	0x02	/* 7 bits data size */#define ST16C554_LCR_CS8	0x03	/* 8 bits data size */#define ST16C554_LCR_2_STB      0x04	/* 2 stop bits */#define ST16C554_LCR_1_STB	0x00	/* 1 stop bit */#define ST16C554_LCR_PEN	0x08	/* parity enable */#define ST16C554_LCR_PDIS       0x00	/* parity disable */#define ST16C554_LCR_EPS	0x10	/* even parity slect */#define ST16C554_LCR_FP1	0x20    /* Force parity 1 */#define ST16C554_LCR_FP0	0x30    /* Force parity 0 */#define ST16C554_LCR_SBRK	0x40	/* break control bit */#define ST16C554_LCR_NUSE	0x00	/* BIT-7 not used, should be 0 *//* equates for the modem control register */#define ST16C554_MCR_DTR	0x01	/* dtr output */#define ST16C554_MCR_RTS	0x02	/* rts output */#define ST16C554_MCR_OUT1	0x04	/* output #1 */#define ST16C554_MCR_OUT2	0x08	/* output #2 */#define ST16C554_MCR_LOOP	0x10	/* loop back */ /* equates for line status register */#define ST16C554_LSR_RXRDY	0x01	/* receiver data available */#define ST16C554_LSR_OE	0x02	/* overrun error */#define ST16C554_LSR_PE	0x04	/* parity error */#define ST16C554_LSR_FE	0x08	/* framing error */#define ST16C554_LSR_BI	0x10	/* break interrupt */#define ST16C554_LSR_THRE	0x20	/* transmit holding register empty */#define ST16C554_LSR_TEMT	0x40	/* transmitter empty *//* equates for modem status register */#define ST16C554_MSR_DCTS	0x01	/* cts change */#define ST16C554_MSR_DDSR	0x02	/* dsr change */#define ST16C554_MSR_DRI	0x04	/* ring change */#define ST16C554_MSR_DDCD	0x08	/* data carrier change */#define ST16C554_MSR_CTS	0x10	/* complement of cts */#define ST16C554_MSR_DSR	0x20	/* complement of dsr */#define ST16C554_MSR_RI	0x40	/* complement of ring signal */#define ST16C554_MSR_DCD	0x80	/* complement of dcd */#if defined(__STDC__) || defined(__cplusplus)extern void ST16C554HrdInit(ST16C554_CHAN *pDev);extern void ST16C554Int (ST16C554_CHAN  *pDev);#elseextern void ST16C554HrdInit();extern void ST16C554Int();   #endif  /* __STDC__ */#endif	/* _ASMLANGUAGE */#ifdef __cplusplus}#endif#endif	/* __INCST16C554h */

⌨️ 快捷键说明

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