ch32v307芯片的收Profinet协议多播帧,只能收到一次,必须重启芯片才能重新收一帧。
设置用的是标准设置,没有改动过。接收长度不够的数据开关应该是开的。
ETH_InitStructure.ETH_ForwardUndersizedGoodFrames = ETH_ForwardUndersizedGoodFrames_Enable;
这是DEBUG口的数据,第二帧就没有反应了。接收其它类型帧正常。
MAC RAW Test
SystemClk:96000000
ChipID:30700528
mac addr:22 0 5 20 0 ab
rec data:64 bytes
data:1
这是Profinet工具发送的数据。
0000 01 0e cf 00 00 00 d8 c4 97 2b d5 6b 81 00 00 00
0010 88 92 fe fe 05 00 00 00 00 01 00 01 00 04 ff ff
0020 00 00
换西门子PLC也是一样的效果,只响应第一帧,这是PLC的数据。
0000 01 0e cf 00 00 00 e0 dc a0 83 6a 57 81 00 00 00
0010 88 92 fe fe 05 00 01 02 00 c8 00 01 00 08 02 02
0020 00 03 70 6e 31 00 00 00 00 00 00 00 00 00 00 00
0030 00 00 00 00 00 00 00 00 00 00 00 00