OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3451|回复: 1

求教一个udp发数问题void udp_demo_senddata(struct udp_pcb *upcb)

[复制链接]

30

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
427
金钱
427
注册时间
2015-3-11
在线时间
123 小时
发表于 2019-7-25 17:42:19 | 显示全部楼层 |阅读模式
10金钱
原子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,发送不同的数组长度也不一样,我怎么限制发送出去的长度啊??

求助各位大佬!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-7-26 02:56:23 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-6 22:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表