//********串口发送数据*************************************** void Send_data(uchar axis,uchar data[]) { int i; USART2_SendData(axis); USART2_SendData(':'); for(i=0;i<4;i++) USART2_SendData(data[i]); USART2_SendData(' '); }
/** * @brief EDP数据包发送 * @param buffer: 要发送的数据缓冲区地址 * @param len: 要发送的数据缓长度 * @param sockfd:兼容linux socket api: STM32下无意义 * @retval 发送的数据长度 **/ int32_t DoSend(int32_t sockfd, const uint8_t *buffer, uint32_t len) { USART2_SendData((uint8_t *)(buffer), len); /* wululu test print send bytes */ hexdump((const uint8_t *)buffer, len); return len; }
static int MqttSample_SendPkt(void *arg, const struct iovec *iov, int iovcnt) { int bytes = 0; int i = 0, j = 0; struct iovec *tmp; memset(send_buf, 0, MAX_MQTT_LEN); for(i = 0; i < iovcnt; i++) { tmp = (struct iovec *)(&iov[i]); bytes += tmp->iov_len; } if(bytes > MAX_MQTT_LEN) { printf("%s too much data to send\n", __func__); return -1; } for(i = 0; i < iovcnt; i++) { tmp = (struct iovec *)(&iov[i]); memcpy(send_buf + j, (unsigned char *)(tmp->iov_base), tmp->iov_len); j += tmp->iov_len; } printf("\r\n*****bytes=%d******\r\n",bytes); for(i=0;i<bytes;i++) { printf("0x%x ",send_buf[i]); } printf("\r\n*********\r\n"); bytes = USART2_SendData(send_buf, bytes); return bytes; }