一、程序烧录
1.程序修改
打开IAR Embedded Workbench软件快捷方式,打开TCP Client\app.eww文件。然后在main.c函数中修改如下图1所示的两个IP地址,并且确保调试PC的IP地址与修改内容在同一个网段内,否则无法建立连接。其中绿色框内主要设置PC的IP地址,红色框内主要设置W5500-EVB的IP地址。
图 1 编译界面
修改正确以后,点击project\make 或者按F7快捷键重新编译文件。
2.设置烧录工具
Flash loader Demonstrator 用于为W5500-EVB烧录程序,安装软件会出现如图2所示窗口。当mini-USB连接到PC的USB设备时,设备管理器会正确安装USB转串口驱动,Port Name 口会自动识别到对应的COM口。
3.程序下载
如图3所示,红色框中,SW7是BOOT0按键,SW6是RESET按键。按下按键SW7不松开,同时点击SW6重启EVB板后,松开SW7,进入程序下载模式。在Flash loader Demonstrator中点击下一步,进入如图4所示界面;继续点击下一步出
图 2 烧录工具界面
图3 W5500-EVB实物图
现如图5所示界面。
图 4 图5
再次点击下一步进入目标文件烧录界面,如图6所示。
图6 目标文件烧录界面
蓝色框内选择TCP Client\Debug\Exe\app.bin文件,红色框内选择Global Eras完全擦除,设置完成后点击下一步开始下载,如图7所示。
图7 程序下载过程界面
二、测试链接
1.设置PC为静态IP
打开网络连接,点击本地连接选择属性,出现如图8所示设置界面,设置完成后点击确定。
图8 PC静态IP设置
2.通过hercules连接测试
用网线把PC和W5500EVB连接,打开hercules软件,选择正确的COM口打开串口,按一下SW6复位按键,会显示W5500EVB设置好的信息如图9所示。
图 9 hercules开启界面
然后点击TCP Server,在Port口输入6001(6001在主程序),点击Listen,就可以进行数据传输测试,测试效果如图10所示。在蓝色框中随意输入数字或者字符,点击send,就会看到红色框内有数据接收到。说明连接成功。
图 10 数据收发测试
程序大致流程如下:
4. 连接模式选择(通过switch选择语句实现)
A .判断Socket状态
B. 如果Socket关闭,打开一个端口
C. Socket初始化,建立连接
D. 如果连接成功,进行数据收发
模式选择主要通过以下函数以及硬件SPI模式的基本函数来实现。
uint8 getSn_SR(SOCKET s)
{
return IINCHIP_READ(Sn_SR(s));
}
uint8 IINCHIP_READ(uint32 addrbsb)
{
uint8 data = 0;
IINCHIP_ISR_DISABLE(); // Interrupt Service Routine Disable
IINCHIP_CSoff(); // CS=0, SPI start
IINCHIP_SpiSendData( (addrbsb & 0x00FF0000)>>16);// Address byte 1
IINCHIP_SpiSendData( (addrbsb & 0x0000FF00)>> 8);// Address byte 2
IINCHIP_SpiSendData( (addrbsb & 0x000000F8)) ;// Data read command and Read data length 1
data = IINCHIP_SpiSendData(0×00); // Data read (read 1byte data)
IINCHIP_CSon(); // CS=1, SPI end
IINCHIP_ISR_ENABLE(); // Interrupt Service Routine Enable
return data; }