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

📄 tlc16c550.h

📁 含有完整TCP/IP PPP协议的嵌入式操作系统
💻 H
字号:
#ifndef _DEV_TLC16C550_H_#define _DEV_TLC16C550_H_/* * Copyright (C) 2001-2003 by Cyber Integration, LLC. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the copyright holders nor the names of *    contributors may be used to endorse or promote products derived *    from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY CYBER INTEGRATION, LLC AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CYBER * INTEGRATION, LLC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *//* * $Log: tlc16c550.h,v $ * Revision 1.1  2005/11/24 11:24:06  haraldkipp * Initial check-in. * Many thanks to William Basser for this code and also to Przemyslaw Rudy * for several enhancements. * *//*	Chip connections:	Ax - to avr address lines	CSx - to avr/PGA (chip select)    Dn - to avr data lines    INTN - to vcc (for 16c554 forces activation of interrupt lines)    INTx - to avr interrupt lines (can be OR-ed and share common avr interrupt line)	OIR - to avr /rd	OIW - to avr /wr    RESET - high is active */#include <sys/device.h>#include <dev/ace.h>/*! * \file dev/tlc16c550.h * \brief ACE ACE definitions. *//*! * \addtogroup  *//*@{*/#define ACE_MF_RTSSENSE		0x00000001UL    /*!< DCE input, low on port bit is +12V, which means ON. */#define ACE_MF_CTSCONTROL	0x00000002UL    /*!< DCE output. */#define ACE_MF_DTRSENSE		0x00000004UL    /*!< DCE input. */#define ACE_MF_DSRCONTROL	0x00000008UL    /*!< DCE output. */#define ACE_MF_DCDCONTROL	0x00000010UL    /*!< DCE output. */#define ACE_MF_RTSCONTROL	0x00000020UL    /*!< DTE output. */#define ACE_MF_CTSSENSE		0x00000040UL    /*!< DTE input. */#define ACE_MF_DTRCONTROL	0x00000080UL    /*!< DTE output. */#define ACE_MF_DSRSENSE		0x00000100UL    /*!< DTE input. */#define ACE_MF_DCDSENSE		0x00000200UL    /*!< DTE input. */#define ACE_MF_SENSEMASK	0x0345  /*!< Handshake sense mask. */#define ACE_MF_CONTROLMASK	0x00BC  /*!< Handshake control mask. */#define ACE_MF_XONXOFF		0x00000400UL    /*!< Software handshake. */#define ACE_MF_LOCALECHO	0x00010000UL    /*!< Should be used in stream, not device. */#define ACE_MF_COOKEDMODE	0x00020000UL    /*!< Should be used in stream, not device. */#define ACE_MF_NOBUFFER		0x00100000UL    /*!< No buffering. */#define ACE_MF_LINEBUFFER	0x00200000UL    /*!< Line buffered. */#define ACE_MF_BUFFERMASK	0x00300000UL    /*!< Masks buffering mode flags. */#define ACE_SF_RTSOFF		0x00000001UL    /*!< Set RTS line is off. */#define ACE_SF_CTSOFF	    0x00000002UL        /*!< Set CTS line is off. */#define ACE_SF_DTROFF	    0x00000004UL        /*!< Set DTR line is off. */#define ACE_SF_DSROFF	    0x00000008UL        /*!< Set DSR line is off. */#define ACE_SF_DCDOFF	    0x00000010UL        /*!< Set DCD line is off. */#define ACE_SF_TXDISABLED	0x00000040UL    /*!< Transmitter disabled. */#define ACE_SF_RXDISABLED	0x00000080UL    /*!< Receiver disabled. */#define ACE_HS_DCERTSCTS	0x00000003UL    /*!< RTS/CTS DCE handshake. */#define ACE_HS_DCEFULL	    0x0000001FUL        /*!< Full DCE handshake. */#define ACE_HS_DTERTSCTS	0x00000060UL    /*!< RTS/CTS DTE handshake. */#define ACE_HS_DTEFULL	    0x000003E0UL        /*!< Full DTE handshake. */#define ACE_HS_XONXOFF	    0x00000400UL        /*!< Software handshake. */#define ACE_CLOCK           1843200     /* in MHz - common for all devices (should be ok) *//*! * ACE device control block type. */typedef struct _ACEDCB ACEDCB;/*! * \struct _ACEDCB tlc16c550.h dev/tlc16c550.h * \brief ACE device control block structure. */struct _ACEDCB {    /*! \brief pointer to the next device, used if more devices share the same interrupt */    NUTDEVICE *dev_next;    /*! \brief Read timeout.     */    u_long dcb_rtimeout;    /*! \brief Write timeout.     */    u_long dcb_wtimeout;    /*! \brief Queue of threads waiting for output buffer empty.     *     * Threads are added to this queue when calling ACEAvrFlush().      */    HANDLE dcb_tx_rdy;    /*! \brief Queue of threads waiting for a character in the input buffer.     *     * Threads are added to this queue when calling ACEAvrInput().      */    HANDLE dcb_rx_rdy;    /*! \brief Mode flags.     */    u_long dcb_modeflags;    /*! \brief Level of the fifo trigger, 0 if no fifo.     */    u_char dcb_rfifo;    /*! \brief Free space in the output fifo since the last write operation.     */    u_char dcb_wfifo;};/*@}*/#endif

⌨️ 快捷键说明

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