예제 #1
0
 //********串口发送数据***************************************
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(' ');
}
예제 #2
0
/**
 * @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;
}