本文整理汇总了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);
}