请问怎样把一个u8的数组转换成字符串

2019-07-20 06:44发布

我是在用udp的网口通信,在发送数据时,有一个发送的内容:u8 *tcp_demo_sendbuf="Explorer STM32F407 UDP demo send data ";     但是我现在有的是一个u8的数组,我怎样将这个u8的数组转换成可以发送的内容呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
lyl5530330
1楼-- · 2019-07-20 21:42
jxcrgt35 发表于 2018-8-11 16:15
如果数组是定长的,那更简单了for(i=0;i

这是那个结构体,提到的那个字符串数组就是这个payload
struct pbuf {
  /** next pbuf in singly linked pbuf chain */
  struct pbuf *next;

  /** pointer to the actual data in the buffer */
  void *payload;//指向缓存数组

  /**
   * total length of this buffer and all next buffers in chain
   * belonging to the same packet.
   *
   * For non-queue packet chains this is the invariant:
   * p->tot_len == p->len + (p->next? p->next->tot_len: 0)
   */
  u16_t tot_len;//数据包总的长度(数据包分到了几个buffer中)

  /** length of this buffer */
  u16_t len;//单个buffer的长度

  /** pbuf_type as u8_t instead of enum to save space */
  u8_t /*pbuf_type*/ type;//数据包类型

  /** misc flags */
  u8_t flags;

  /**
   * the reference count always equals the number of pointers
   * that refer to this pbuf. This can be pointers from an application,
   * the stack itself, or pbuf->next pointers from a chain.
   */
  u16_t ref;//引用pbuf的次数
};
jxcrgt35
2楼-- · 2019-07-21 02:08
本帖最后由 jxcrgt35 于 2018-8-12 23:37 编辑

unsigned char buf [100];

自己编写一个HexToChar函数,将U8数组16进制转换成字符(网上一大把)往缓冲区tcp_client_sendbuf[i++]填充,记得在结尾添加0x00,不知道这样能不能帮到你。
lyl5530330
3楼-- · 2019-07-21 05:48
 精彩回答 2  元偷偷看……

一周热门 更多>