WCH沁恒单片机
直播中

rosa

12年用户 1211经验值
私信 关注
[问答]

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


dif打开USE_GIGA_MAC选项。
编译运行,wireshark抓包显示如下:

而实际的代码中定义的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),请问如何配置。


回帖(1)

王娜

2022-9-23 09:46:16
选用ETH_RGMII这个例程是OK的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分