手上有一块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抓包显示如下:
而实际的代码中定义的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),请问如何配置。
谢谢。
热门产品 :
CH585: 集成高速USB和NFC的蓝牙MCU