ch32v307V-R2-1v1使用CH32V307EVT网络例程,数据发生位反转

手上有一块ch32v307V-R2-1v1板,使用了CH32V307EVT中的网络例程ETH_MII_RMII,

修改例程中的main.h如下:

//#define USE10BASE_T
#ifndef USE10BASE_T
    #define USE_GIGA_MAC
    #ifndef USE_GIGA_MAC
        #define USE_FAST_MAC
        //#define USE_RMII
    #endif
#endif

打开USE_GIGA_MAC选项。

编译运行,wireshark抓包显示如下:

微信截图_20220917184304.png

而实际的代码中定义的MAC地址如下:

/* Transport sample */
uint8_t ARP_package[]=
{
    0xff, 0xff, 0xff, 0xff, 0xff, 0xff,/* 目标MAC */
    0x8f, 0xc2, 0xe4, 0x01, 0x02, 0x03,/* 源MAC */
    0x08,0x06,/* ARP包 */
    0x00,0x01,/* 硬件类型 */
    0x08,0x00,/* 协议类型 */
    0x06,0x04,/* 硬件地址长度和协议地址长度 */
    0x00,0x01,/* 情求包 */
    0x8f,0xc2,0xe4,0x01,0x02,0x03,/* 源MAC地址 */
    0xc0,0xa8,0x1,0x0f,/* 源协议地址 */
    0x00,0x00,0x00,0x00,0x00,0x00,/* 目标MAC地址 */
    0xc0,0xa8,0x01,0x65,/* 源协议地址 */

可以看到源MAC地址的多个位发生了位反转。

请问这是什么原因。是不是千兆PHY暂时无法测试?(记得FAE在某个帖子里说过建议用100M)

如果使用100M的话(ch32v307V-R2-1v1板上的PHY是RTL8211FS,支持1000M和100M,10M),请问如何配置。


谢谢。

谢谢,现在OK了。选用ETH_RGMII这个例程是OK的。


只有登录才能回复,可以选择微信账号登录