完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请大家帮我看看这个问题:我现在有两块相同的板子,mcu是GD32F450,工程使用的是官方源码bsp中的gd32450z-eval,lwip版本是2.0.3。 在使用以太网外设的时候: 上电后两块板子都可ping通电脑(IP192.168.1.168), 如果用任意一块板子比如板子1(IP192.168.1.30)ping板子2(IP192.168.1.31)可以ping通, 反过来板子2却ping不通板子1, 此时如果复位重启任意一块板子,板子2就可以ping通板子1, 但是板子1又ping不通板子2了; 就像是谁先ping谁能通,被ping的不能反ping回来。 伴随着一个问题是我用udp从一个板子发送上万字节给另一个板子(在能ping通的情况下),接收的板子只能收到1024字节。 这两块板子我之前因为GD的设备驱动不完善一直跑的是STM32f429的bsp,用的是st的设备驱动和HAL库,板子双向ping和udp收发数据都是正常的。因为存在一些其他的小问题,最近把应用程序移植回GD的bsp上,出现了上边说的问题。 请各位大神帮我看看 |
|
相关推荐
3个回答
|
|
|
|
|
|
感谢您的回答!是MAC地址的问题,429的bsp是使用单片机uid生成MAC地址,gd的bsp是填入的固定值做测试用。修改后可以双向ping通了。
|
|
|
|
我之前也遇到了,只能单向ping通,双向只能ping通一次,后面就ping不通了,但用UDP发数据都是通的,应该是ping程序的bug。
后来抓包,发现有很多ARP的包,每次通信前都需要把IP地址翻译成MAC地址,具体原因最后没时间找了,但可以确实的是网络层合成的IP数据包是没有问题的,但向下传给链路层又经过了好几个函数,传递的是指针没有复制数据包。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
590 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2241 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1233 浏览 0 评论
1788 浏览 0 评论
1464 浏览 0 评论
74803 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:04 , Processed in 0.582835 second(s), Total 44, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号