原子f7例程里的udp发送函数:
uint8_t tcp_demo_sendbuf1[5] = {0x26,0xBB,0xCC,0xDD,0xEE};
void udp_demo_senddata(struct udp_pcb *upcb)
{
struct pbuf *ptr;
ptr = pbuf_alloc(PBUF_TRANSPORT,strlen((const char*)tcp_demo_sendbuf1),PBUF_POOL);
// ptr=pbuf_alloc(PBUF_TRANSPORT,strlen((char*)tcp_demo_sendbuf),PBUF_POOL);
if(ptr)
{
ptr->payload=(void*)tcp_demo_sendbuf1;
// ptr->payload=(void*)tcp_demo_sendbuf;
udp_send(upcb,ptr);
pbuf_free(ptr);
}
}
如上:最终udp_send(upcb,ptr); 发送出去是5个字节{0x26,0xBB,0xCC,0xDD,0xEE};没错,但是如果我定义这个数组的字节数为10,好比uint8_t tcp_demo_sendbuf1[10] = {0x26,0xBB,0xCC,0xDD,0xEE};那么通过 udp_send(upcb,ptr); 发送出去后面会接5个0x00,就变成
0x26,0xBB,0xCC,0xDD,0xEE,0x00,0x00,0x00,0x00,0x00,但实际我不想要后面的0x00,发送不同的数组长度也不一样,我怎么限制发送出去的长度啊??
求助各位大佬!
|