完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
static void udp_server_receive_callback(void *arg, struct udp_PCB *upcb,
struct pbuf *p, const ip_addr_t *addr, u16_t port) { uint32_t i; /* 数据回传 */ udp_sendto(upcb, p, addr, port); /* 打印接收到的数据 */ printf("get msg from %d:%d:%d:%d port:%d:rn", *((uint8_t *) addr->addr), *((uint8_t *) addr->addr + 1), *((uint8_t *) addr->addr + 2), *((uint8_t *) addr->addr + 3), port); if (p != NULL) { struct pbuf *q = p; while(q != NULL) { //此处接收长度由问题 printf("len=%urn", q->len); for (i = 0; i < q->len; i++) { printf("%X ", *((char *)q->payload + i)); } q = q->next; } printf("rn"); } /* 释放缓冲区数据 */ pbuf_free(p); } 这个接收回调函数数据回传是对的,但是打印出来的长度和数据都不对 发送:1234567890 接收打印信息: get msg from 192:168:68:100 port:777: len=52 3C 52 82 51 3A 6C 0 80 E1 0 0 0 8 0 45 0 0 26 0 35 0 0 FF 11 B1 98 C0 A8 44 44 C0 A8 44 64 22 B0 3 9 0 12 C6 12 31 32 33 34 35 36 37 38 39 30 请教一下是哪里出了问题? |
|
相关推荐
1个回答
|
|
根据你提供的代码片段,有几个问题需要注意:
1. 打印接收到的数据时,使用了`printf`函数。在嵌入式系统中,通常没有标准输出设备,因此无法使用printf函数来打印信息。你应该使用调试工具或者串口输出来查看打印的信息。 2. 接收到的数据长度和数据内容不正确。这可能是由于使用了错误的数据类型导致的。在你的代码中,你使用了`ip_addr_t`类型来表示IP地址,但实际上它是一个结构体,不是一个整数。你需要使用相应的函数来获取IP地址的每个字节,并将其转换为对应的类型。 下面是一个示例代码,展示了如何正确获取IP地址和打印接收到的数据长度和内容(使用串口输出): ```cpp static void udp_server_receive_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port) { uint32_t i; // 数据回传 udp_sendto(upcb, p, addr, port); // 打印接收到的数据长度 printf("Received data length: %drn", p->len); // 打印接收到的数据内容 for (i = 0; i < p->len; i++) { printf("%c", ((char *)p->payload)[i]); } printf("rn"); // 释放pbuf内存 pbuf_free(p); } ``` 请注意,为了正确使用printf函数,你需要在编译时配置合适的库和设置。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1780 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1081 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1679 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
596浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
556浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 20:16 , Processed in 0.819244 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号