完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
FreeRTOS + LwIP
1. UDP线程监听8080端口,接收到数据以后发送信号量给发送任务 [AppleScript] 纯文本查看 复制代码 while (1) { recv_err = netconn_recv(conn, &buf); if (recv_err == ERR_OK) {pbuf = buf->p; netconn_connect(conn, addr, port);// Maximum of msg is 1024if(buf->p->tot_len > 1024){printf("the length is over Maximum(1024) ");}else{// Copy data from pbuf to recv_bufwhile(pbuf != NULL){MEMCPY(&recv_buf, pbuf->payload, pbuf->len);i += pbuf->len; // start position for store pbuf->payloadpbuf = pbuf->next;}recv_len = i;printf("Received data length: %drn", i);i = 0;/* Release the Net message semaphore */xSemaphoreGive(NetMsgSemaphore);printf("Sent NetMsgSemaphorern");} }/* Release stored space */netbuf_delete(buf); 2. 发送任务接收到信号量以后绑定80端口,然后对上位机进行应答 [AppleScript] 纯文本查看 复制代码 while(1){/* Wait NetMsgSemaphore for 10 ticks */if(xSemaphoreTake(NetMsgSemaphore, ( portTickType ) 10) == pdTRUE){if(netconn_connect(conn, &des_IPAddr, 8080) == ERR_OK){/* Prepare data */send_buf = netbuf_new();if(send_buf != NULL){send_data = netbuf_alloc(send_buf, ack_len);if(send_data != NULL){MEMCPY(send_data, ack_buf, ack_len);/* Send the packet */if(netconn_sendto(conn, send_buf, &des_IPAddr, 8080) != ERR_OK)printf("[UDPSend_task] Sent send_buf failed!!!rn");}elseprintf("[UDPSend_task] Get send_data failed!!!rn");/* Free the buffer */netbuf_delete(send_buf);}elseprintf("[UDPSend_task] Get send_buf failed!!!rn");}elseprintf("[UDPSend_task] netconn_connect failed!!!rn");}vTaskDelay(100);} 其中,接收和发送为同一IP的不同端口,现在的情况是如果发送来的数据大于560字节,发送线程就无法发送 在512个字节的情况下,接收比较稳定。 现在想要实现一次接收1024,请问问题出在哪里? |
|
相关推荐
1个回答
|
|
在接收中,能够接收到1024个字节,倒是释放信号量后,发送任务无法发送ack。ack的内容长度即使设置为1个字节也不成功,请问原因可能出在哪里?
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2549 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2333 浏览 5 评论
3165 浏览 3 评论
2806 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2765 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
612浏览 1评论
859浏览 0评论
974浏览 0评论
626浏览 0评论
453浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 17:27 , Processed in 1.058324 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号