求助裸机中lwip UDP不定长数据帧接收处理思路

2020-01-10 19:41发布

为采集某设备UDP 输出的不定长数据帧 如下44 41 54 41 2A 29 0 0 0 BF DE A0 41 BF DE A0 41 0 0 48 42 0 0 48 42 0 0 48 42 0 0 48 42 0 0 48 42 0 0 48 42 2A 0 0 0 17        F2 7C 42 17 F2 7C
因为成本限制硬件无法跑 os ,采用了裸机lwip udp 解析数据,但是回调函数void udp_input_recv(void *arg,struct udp_pcb *upcb,struct pbuf *p,struct ip_addr *addr,u16_t port)中如果用if(p!=NULL)接收只能收到
帧头数据,因为后续出现0x00,且帧不定长但是不超过200字节,帧尾无判断标志位。实在没有思路,求启发。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
hameyou
1楼-- · 2020-01-10 23:14
像这种我直接连LWIP都不用了,直接解析 MAC帧数据
love_ourdev
2楼-- · 2020-01-11 00:21
如果只是udp通信,用uip足够了。整个协议栈内存就一个帧缓存,其它pcb之类的结构都很小很省。
gongxd
3楼-- · 2020-01-11 01:08
直接解析 MAC帧数据
mii
4楼-- · 2020-01-11 05:43
在PBUF的结构体时每次回调后接收字节的长度
KongQuan
5楼-- · 2020-01-11 06:43
 精彩回答 2  元偷偷看……
denike
6楼-- · 2020-01-11 12:15
直接用简单协议栈解析UDP数据

一周热门 更多>