w5300
第1步是给w5300的电路腿复位,就是给芯片供电。因为w5300本身也可以看做是个cpu
第2步是配置STM32单片机的腿
第3步开始对w5300的寄存器进行操作了(需要操作什么寄存器可以看官方手册)
好第3步
---------把RST置1,就是复位。
----------把IND置1。
IND:为0是直接访问模式,1是间接访问模式。
这里把他设为直接访问模式。这俩访问啥区别 现在不清楚。以后补充。(补充:可能是直接寄存器就是官方把寄存器直接就给出来了,以后的发送接收啊初始化啊直接对寄存器进行操作就可以了。就是手册里的COMMON寄存器。而间接寄存器就是提供给我们一个基地址,让我们自己弄偏移)
----------把FS置位1. 就是弄成小开端。 FS 就是FIFO SWAP的意思。 SWAP翻译为交换。那么为啥设置为小开端,因为arm是小端啊。所以小端+小端就是大端了。
----------给SHAR & SHAR2 & SHAR4赋值,就是把w5300的mac地址赋值。
--------------设置本地IP MASK GW
官方寄存器的顺序显示给出了gw 然后给出了mask 然后给出了IP,这里也按照这个顺序介绍
首先是GW ,寄存器是GAR GAR2 ,翻译为gateway address
然后是mask, 那么这个subnet是啥意思?subnet用百度一查 是子网的意思 ,subnet mask就是子网掩码的意思。
然后是IP 就是SIPR SIPR2 给个名字是source IP。 这里source是源头 就是本地的IP了。通信里有不少都是这么起名字的。
-----------------------------------------------好了,以上这些就把 本地mac 本地 IP MASK GW 都设置好了------------------------------这些设置如果用电脑作为比较的话,就是电脑的mac是厂商自己设定的,我们不用改。 ip mask gw是我们在控制面板里面自己设定的静态的。--------------------------------------------------
好了,下面就讲讲组播的初始化。
对于一个组播,比如说我手里有个板子,里面有一个w5300,我想发送一个组播到电脑。那么我的板卡要配置什么?
特别值得注意的是,在谢希仁的书第6版本的第170页写到“”多播地址只能用于目的地址,而不能用于原地址“。(当然这是叫法的问题,这种叫法比较清晰)
所以说我看到W5300的手册里面说的组播是没有源地址的,也没有源mac的。
所以我们要设置我的板卡的1个socket,包括
1个目的mac,1个目的ip,一个server port 和一个 client port。