W5200移植W5500驱动教程

时间:2022-09-11 14:36:37

说明,移植例程为我按照这个教程移植的例程,测试通过。工程模板为我经常使用的一个w5500模板,可以在里面直接添加文件编程。
1. 将driver文件夹中W5500文件夹和所有.c文件复制到工程/source文件夹下,并覆盖原来的文件,删除W5200文件夹

W5200移植W5500驱动教程

2. 将driver/include文件夹中W5500文件夹和所有.h头文件复制到工程/include文件夹下,并覆盖原来的文件,删除W5200文件夹

W5200移植W5500驱动教程

3. 打开原来工程文件,删除工程目录/W5200下md5,socket,SPI2,w5200四个文件,在此目录下添加刚拷贝的source/W5500中对应的四个文件。删除工程目录下util文件,在此目录下添加source中的at24c16.c, device.c, mcu_init.c, socketutil.c, util.c文件,其他的dhcp和dns文件如有需要自行添加。

W5200移植W5500驱动教程

4. 在IAR环境下打开main.c文件,使用工作栏(IAR上方)中Edit->Find and Replace->Replace进行字符更换,先将w5200替换为w5500,点击replace all即可,再将W5200替换为W5500。如果其他文件中有引用原来w5200.h,请自行查找替换,这里只是举例。

W5200移植W5500驱动教程

5. 打开main.c文件,如果在原来文件中有定义mac、gateway、ip、subnet的地址,可以删去,在新的驱动的device.c中的Set_default函数中集中做了定义,以前的可以删去。
6. 打开main.c文件,删去原来定义的GPIO、NVIC、RCC配置函数,在新的驱动的mcu_init.c中已经集中做了定义,可直接引用。
7. 在main()函数中,添加Systick_Iinit(72);函数,新驱动中延时使用systick计时,这里要做初始化配置,否则delay的相关函数不能使用。

W5200移植W5500驱动教程

8. 在main.c中,在函数WIZ_Config()中调用Set_default();函数,对W5500的ip等信息进行定义。

W5200移植W5500驱动教程

9. 在原来w5200的驱动中send()函数比现在的驱动多一个形参,所以在程序调用send函数的地方,去掉最后一个形参。
10. 至此驱动移植完成,请rebuild工程,如果有错误,不会是底层的问题了,请根据程序做相应声明修改就可以了。

全硬件以太网接口芯片W5500,了解详情请联系“新华龙电子”或登录官网!