关于LWIP(LAN8720)网络发送数据的问题
在做系统测试的时候发现,LWIP(LAN8720)发送十六进制数据时,当发送的数据中有0x00时,网络就判断一串数据结束啦。例如,发送数据为:aa 55 05 00 00 00 03 00 05 00 12 55 aa,通过调试发送,网络发送的数据只有aa 55 05,后面的数据都没有发送。
意思就是遇到0x00,网络就认为是空数据。
现在的疑问就是,如果我要发送数据0,怎么办呢?
如果发送两个字节的数,例如发送数字3,十六进制为00 03,那怎么发送呢?
希望能够得到解答,急~~
使用write函数,不会出现上述情况啊,而且write函数是有数据长度参数的 不能吧,应该是可以的。除非你发送的是字符串,字符串是以00为结束的。 LAN8720可不会帮你判断00就停止,肯定是你的代码哪里把00自己处理了;P 数据处理问题把 非常感谢大家的解答,问题已经解决。我发送的时候,使用strlen来判断发送数据的长度和申请内存。按道理应该按字节来进行申请的。我把strlen和sizeof两个弄混淆啦
页:
[1]