【随笔】记一次MPY+W5500网络通信错误即解决办法
最近在使用MicroPython的网络通信功能,外置了一个W5500模块,如下图。
想要驱动W5500,需要指定网卡参数,重新编译一下固件:
sudo make -C ports/stm32 BOARD=<你的开发板> MICROPY_PY_WIZNET5K=5500
编译完成之后烧录到板上,就可以使用网络通信了。
import network, socket, pyb
nic = network.WIZNET5K(pyb.SPI(2), 'Y5', 'Y4')
nic.ifconfig(('192.168.0.6', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
#判断网络是否连接成功
nic.isconnected()
通过上面的代码配置好网卡设备,接下来就可以直接使用socket通信。
实际测试时,发现了一个问题:
W5500可以和PC端的串口调试助手正常通信,但两块板之间无法正常通信,如下图所示。
后来通过wireshark抓包发现是两片W5500的mac地址冲突了,后来通过修改驱动代码解决了