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

📄 lvbuscamsercom.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
字号:
#ifndef ___LVBUS_LVCAMSERCOM_H
#define ___LVBUS_LVCAMSERCOM_H

#include <LvBus.h>
#include "LvBus_LvCamPicSer.h"


#ifdef __cplusplus
    extern "C" {
#endif

class SerBus {
public:
    SerBus();
    virtual ~SerBus();

    virtual S32BIT GetDesc(unsigned char* Desc, unsigned long Size) = 0;

    virtual LVSTATUS OpenPort(U32BIT Port) = 0;
    virtual void ClosePort(void) = 0;
    
    virtual U32BIT PutChar(U32BIT Char)=0;
    virtual U32BIT GetChar(U8BIT *Buffer)=0;

    U32BIT PutString(unsigned char* Buffer, unsigned long Len);
    U32BIT PutString(const char* str);
    S32BIT GetLine(unsigned char* Buffer, unsigned long BufSize, unsigned long Timeout);

    virtual U32BIT GetSerialBusType(void) = 0;

    virtual void PurgeInput() { /* do nothing if not implemented */ };
};



class Rs232SerBus : public SerBus {
    private:
        HANDLE hCom;
        int MyPort;

    public:
        LVSTATUS OpenPort(U32BIT Port);
        void ClosePort(void);

        Rs232SerBus(void);
        ~Rs232SerBus(void);

        U32BIT PutChar(U32BIT Char);
        U32BIT GetChar(U8BIT *Buffer);

        S32BIT GetDesc(unsigned char* Desc, unsigned long Size);
        //U32BIT PutString(unsigned char* Buffer, unsigned long Len);
        //U32BIT PutString(const char* str);

        //S32BIT GetLine(unsigned char* Buffer, unsigned long BufSize, unsigned long Timeout) = 0;

        void PurgeInput();
        virtual U32BIT GetSerialBusType(void) { return LvBus_Serial; }
    };


class CamLinkSerBus : public SerBus {
    private:
        int* MyPortId;
        int MyPortIdx;

    public:
        LVSTATUS OpenPort(U32BIT Port);
        void ClosePort(void);

        CamLinkSerBus(void);
        ~CamLinkSerBus(void);

        static void TraceErrCode(int ErrCode);

        U32BIT PutChar(U32BIT Char);
        U32BIT GetChar(U8BIT *Buffer);

        void PurgeInput();

        S32BIT GetDesc(unsigned char* Desc, unsigned long Size);

        virtual U32BIT GetSerialBusType(void) { return LvBus_Serial; }
    };

#ifdef __cplusplus
    };
#endif


#endif

⌨️ 快捷键说明

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