1/**2*@brief使能SPI时钟3*@retvalNone4*/5staticvoidSPI_RCC_Configuration(void)6{7RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_SPI1,ENABLE);8}2.配置指定SPI的引脚
注册SPI函数、初始化SocketBuffer、PHY状态检查、初始化Network等工作
1/**2*@briefIntializethenetworkinformationtobeusedinWIZCHIP3*@retvalNone4*/5voidnetwork_init(void)6{7uint8_ttmpstr[6];8ctlnetwork(CN_SET_NETINFO,(void*)&gWIZNETINFO);9ctlnetwork(CN_GET_NETINFO,(void*)&gWIZNETINFO);1011//DisplayNetworkInformation12ctlwizchip(CW_GET_ID,(void*)tmpstr);13printf("\r\n===%sNETCONF===\r\n",(char*)tmpstr);14printf("MAC:%02X:%02X:%02X:%02X:%02X:%02X\r\n",gWIZNETINFO.mac[0],gWIZNETINFO.mac[1],gWIZNETINFO.mac[2],15gWIZNETINFO.mac[3],gWIZNETINFO.mac[4],gWIZNETINFO.mac[5]);16printf("SIP:%d.%d.%d.%d\r\n",gWIZNETINFO.ip[0],gWIZNETINFO.ip[1],gWIZNETINFO.ip[2],gWIZNETINFO.ip[3]);17printf("GAR:%d.%d.%d.%d\r\n",gWIZNETINFO.gw[0],gWIZNETINFO.gw[1],gWIZNETINFO.gw[2],gWIZNETINFO.gw[3]);18printf("SUB:%d.%d.%d.%d\r\n",gWIZNETINFO.sn[0],gWIZNETINFO.sn[1],gWIZNETINFO.sn[2],gWIZNETINFO.sn[3]);19printf("DNS:%d.%d.%d.%d\r\n",gWIZNETINFO.dns[0],gWIZNETINFO.dns[1],gWIZNETINFO.dns[2],gWIZNETINFO.dns[3]);20printf("======================\r\n");21}三、下面着重介绍几个重要的函数:
3.1函数原型:ctlwizchip(ctlwizchip_typecwtype,void*arg)
参数1:cwtype
参数2:arg
功能:控制WIZCHIP芯片,重置WIZCHIP和内部PHY,配置PHY模式,监视PHY(链接,速度,半/全/自动),控制中断和屏蔽等。
参数1:cwtype是一枚举类型,具体如下:
参数2:arg空类型
3.2函数原型:ctlnetwork(ctlnetwork_typecntype,void*arg)
参数1:cntype
功能:控制网络,控制网络环境,模式,超时等
参数1:cntype是一枚举类型,具体如下:
3.3函数原型:voidreg_wizchip_cris_cbfunc(void(*)(void)cris_en,void(*)(void)cris_ex)
参数1、2为函数指针类型的参数
功能:为I/O功能的关键部分注册回调函数,例如WIZCHIP_READ,WIZCHIP_WRITE,WIZCHIP_READ_BUF和WIZCHIP_WRITE_BUF。