CH32V307采用RGMII接口與交換機(jī)直連,將PHY相關(guān)代碼屏蔽,修改完后有以下結(jié)果:
1.當(dāng)前使用MAC_RAW例程將發(fā)送ARP包,PC端已經(jīng)能收到,PC端回復(fù)數(shù)據(jù)307也能收到。
2.當(dāng)使用libwchnet.a庫,創(chuàng)建UDP服務(wù)后,PC端發(fā)送UDP廣播包,307也能收到。
3.但是當(dāng)307發(fā)送數(shù)據(jù)到PC端時,WCHNET_SocketUdpSendTo返回WCHNET_ERR_IF(Low-level netif error)的錯誤,PC接收不到數(shù)據(jù)。
4.將要發(fā)送的UDP包添加頭尾構(gòu)造MAC層包后,使用MAC_RAW例程中的MACRAW_Tx函數(shù)發(fā)送,PC能收到數(shù)據(jù)。
5.PC端使用UDP單播的形式,307也收不到數(shù)據(jù)。
當(dāng)前有點(diǎn)懷疑ARP表有異常,引發(fā)的通訊異常,請問:
1.使用MAC to MAC的方式后,能否直接使用libwchnet.a庫?
2.若能使用libwchnet.a庫,請問有什么排錯或修改建議?
3.若不能使用,請問有什么可行的方案和建議嗎?