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

📄 ecostestserial.h

📁 ecos为实时嵌入式操作系统
💻 H
字号:
//=================================================================////        eCosTestSerial.h////        Serial test class////=================================================================//####COPYRIGHTBEGIN####//// -------------------------------------------// The contents of this file are subject to the Cygnus eCos Public License// Version 1.0 (the "License"); you may not use this file except in// compliance with the License.  You may obtain a copy of the License at// http://sourceware.cygnus.com/ecos// // Software distributed under the License is distributed on an "AS IS"// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the// License for the specific language governing rights and limitations under// the License.// // The Original Code is eCos - Embedded Cygnus Operating System, released// September 30, 1998.// // The Initial Developer of the Original Code is Cygnus.  Portions created// by Cygnus are Copyright (C) 1998, 1999 Cygnus Solutions.// All Rights Reserved.// -------------------------------------------////####COPYRIGHTEND####//=================================================================//#####DESCRIPTIONBEGIN####//// Author(s):     sdf// Contributors:  sdf// Date:          1999-04-01// Description:   This class abstracts the serial port for use in the testing infrastructure// Usage://// To Do://  o Unix body////####DESCRIPTIONEND#####ifndef _CECOSSERIAL_H#define _CECOSSERIAL_H#include "eCosTestUtils.h"class CeCosTestSerial;class CeCosTestSocket;extern int SSRead (CeCosTestSerial &serial,CeCosTestSocket &socket,void *pBuf,unsigned int nSize,unsigned int &nRead);class CeCosTestSerial {    friend int SSRead (CeCosTestSerial &serial,CeCosTestSocket &socket,void *pBuf,unsigned int nSize,unsigned int &nRead);public:    enum StopBitsType { ONE, ONE_POINT_FIVE, TWO };    CeCosTestSerial(const char *pszPort,int nBaud); // ctor and open all in one go    CeCosTestSerial(); // Call Open() later    virtual ~CeCosTestSerial(); // Call Open() later    bool Open(const char *pszPort,int nBaud);    // Set various line characteristics.  This can be done with the line open or closed.    bool SetBaud(unsigned int nBaud,bool bApplySettingsNow=true);    bool SetParity(bool bParityOn,bool bApplySettingsNow=true);    bool SetDataBits(int n,bool bApplySettingsNow=true);    bool SetStopBits(StopBitsType n,bool bApplySettingsNow=true);    bool SetReadTimeOuts(int nTotal,int nBetweenChars,bool bApplySettingsNow=true); // mSec    bool SetWriteTimeOuts(int nTotal,int nBetweenChars,bool bApplySettingsNow=true); // mSec    bool ApplySettings();        // Get them:    int  GetParity() const { return m_bParity; }    int  GetDataBits() const { return m_nDataBits; }    StopBitsType GetStopBits() const { return m_nStopBits; }    unsigned int GetBaud() const { return m_nBaud; }    bool GetReadTimeOuts(int &nTotal,int &nBetweenChars) const {nTotal=m_nTotalReadTimeout; nBetweenChars=m_nInterCharReadTimeout; }// mSec    bool GetWriteTimeOuts(int &nTotal,int &nBetweenChars) const {nTotal=m_nTotalWriteTimeout; nBetweenChars=m_nInterCharWriteTimeout; }// mSec    bool GetBlockingReads() const { return m_bBlockingReads; }    bool Close();    bool Flush (void);    // Use to test success after open ctor    bool Ok() { return 0!=m_pHandle; }    bool Read (void *pBuf,unsigned int nSize,unsigned int &nRead);    bool Write(void *pBuf,unsigned int nSize,unsigned int &nWritten);    // Will read up to the length of the string provided:    bool Read (CeCosTestUtils::String &str);    bool Write(const CeCosTestUtils::String &str);    // Use in the event of an error that needs to be cleared before the next operation:    bool ClearError();    bool SetBlockingReads(bool b,bool bApplySettingsNow=true);protected:    void *m_pHandle;    int m_nDataBits;    StopBitsType m_nStopBits;    bool m_bParity;    unsigned int m_nBaud;    int m_nTotalReadTimeout,m_nTotalWriteTimeout;    int m_nInterCharReadTimeout,m_nInterCharWriteTimeout;     bool m_bBlockingReads;    CeCosTestUtils::String m_strPort;};#endif

⌨️ 快捷键说明

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