当前位置: 首页>>代码示例>>C++>>正文


C++ Uart::putBytes方法代码示例

本文整理汇总了C++中Uart::putBytes方法的典型用法代码示例。如果您正苦于以下问题:C++ Uart::putBytes方法的具体用法?C++ Uart::putBytes怎么用?C++ Uart::putBytes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Uart的用法示例。


在下文中一共展示了Uart::putBytes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: getAction

    virtual int getAction(void *data, int len,uint8_t *dataOut){
        uint8_t *rxBuf = (uint8_t*)data;
        memcpy(rxBuf,data,len);
        int txLength = 0;
        int tem = State::STATE_FREE;
        int temMode = rxBuf[ ZMQ_INSTRUCTION_IND];
        int temAddr = rxBuf[ ZMQ_ADDRESS_IND];
        uint16_t temData;
        int rxEnd = len;
        if(rxBuf[ZMQ_LENGTH_IND] == 2){ // neu nhan duoc du lieu co 2 byte
            temData = ((uint16_t)rxBuf[rxEnd - 5])*256  + (uint16_t)rxBuf[rxEnd - 4];
        } else{
            temData = rxBuf[rxEnd - 3];
        }
        if(temMode == INS_WRITE){
            std::cout<<"-I-Received Instruction Write Data\n";
            this->data[temAddr] = temData;
            switch (temAddr){
                case Address::ADR_UP:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_DOWN:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_STOP:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_HEIGHT_SP:   
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_SAVE2POS1:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_MOVE2POS1:
                    mUart.putBytes(data,len);

                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_SAVE2POS2:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_MOVE2POS2:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_SAVE2POS3:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_MOVE2POS3:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_SAVE2POS4:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;
                case Address::ADR_MOVE2POS4:
                    mUart.putBytes(data,len);
                    mUart.putBytes(data,len);
                    break;

                    
            }       
        } 
        else if(temMode == INS_READ){
            txLength = ZMQ_ADDRESS_IND + 4 + 2;
            uint8_t txBuf[txLength];

            txBuf[ZMQ_START_BYTE1_IND] = ZMQ_START_BYTE1;
            txBuf[ZMQ_START_BYTE2_IND] = ZMQ_START_BYTE2;
            txBuf[ZMQ_LENGTH_IND] = 2;
            txBuf[ZMQ_ADDRESS_IND] = temAddr;
            temData = this->data[temAddr];
            txBuf[ZMQ_ADDRESS_IND + 1] = (uint8_t)(temData >> 8);
            txBuf[ZMQ_ADDRESS_IND + 2] = (uint8_t)temData;

            #ifdef CONSOLE
                printf("TX Length = %d\n",txLength);
            #endif
            txBuf[txLength - 3] = this->getChecksum(txBuf,txLength);
            txBuf[txLength - 1] = ZMQ_STOP_BYTE1;
            txBuf[txLength - 2] = ZMQ_STOP_BYTE2;
            tem = State::getInstance()->STATE_GET_DATA;
            memcpy(dataOut,txBuf,txLength);
        }
开发者ID:quangthanh010290,项目名称:Linux,代码行数:92,代码来源:AddonBoardController.hpp


注:本文中的Uart::putBytes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。