ch32v307 以太网库封装的函数

ch32v307 以太网库封装的函数封装的这些函数参数和返回值介绍哪位老师有的分享下。

u8 WCHNET_Init(const u8 *ip, const u8 *gwip, const u8 *mask, const u8 *macaddr); /* 库初始化 */


u8 WCHNET_GetVer(void);


u8 WCH_GetMac(u8 *macaddr);


u8 WCHNET_ConfigLIB(struct _WCH_CFG *cfg); /* 配置库*/


void WCHNET_MainTask(void); /* 库主任务函数,需要一直不断调用 */


void WCHNET_TimeIsr(u16 timperiod); /* 时钟中断服务函数,调用前请配置时钟周期 */


void WCHNET_ETHIsr(void); /* ETH中断服务函数 */


u8 WCHNET_GetPHYStatus(void); /* 获取PHY状态 */


u8 WCHNET_QueryGlobalInt(void); /* 查询全局中断 */


u8 WCHNET_GetGlobalInt(void); /* 读全局中断并将全局中断清零 */


void WCHNET_OpenMac(void); /* 打开MAC */


void WCHNET_CloseMac(void); /* 关闭MAC */


u8 WCHNET_SocketCreat(u8 *socketid, SOCK_INF *socinf); /* 创建socket */


u8 WCHNET_SocketSend(u8 socketid, u8 *buf, u32 *len); /* Socket发送数据 */


u8 WCHNET_SocketRecv(u8 socketid, u8 *buf, u32 *len); /* Socket接收数据 */


u8 WCHNET_GetSocketInt(u8 sockedid); /* 获取socket中断并清零 */


u32 WCHNET_SocketRecvLen(u8 socketid, u32 *bufaddr); /* 获取socket接收长度 */


u8 WCHNET_SocketConnect(u8 socketid); /* TCP连接*/


u8 WCHNET_SocketListen(u8 socindex); /* TCP监听 */


u8 WCHNET_SocketClose(u8 socindex, u8 flag); /* 关闭连接 */


void WCHNET_ModifyRecvBuf(u8 sockeid, u32 bufaddr, u32 bufsize); /* 修改接收缓冲区 */


u8 WCHNET_SocketUdpSendTo(u8 socketid, u8 *buf, u32 *slen, u8 *sip, u16 port); /* 向指定的目的IP,端口发送UDP包 */


u8 WCHNET_Aton(const u8 *cp, u8 *addr); /* ASCII码地址转网络地址 */


u8 *WCHNET_Ntoa(u8 *ipaddr); /* 网络地址转ASCII地址 */


u8 WCHNET_SetSocketTTL(u8 socketid, u8 ttl); /* 设置socket的TTL */


void WCHNET_RetrySendUnack(u8 socketid); /* TCP重传 */


u8 WCHNET_QueryUnack(SOCK_INF *sockinf, u32 *addrlist, u16 lislen) /* 查询未发送成功的数据包 */;


u8 WCHNET_DHCPStart(u8 (*usercall)(u8 status, void *)); /* DHCP启动 */


u8 WCHNET_DHCPStop(void); /* DHCP停止 */


void WCHNET_InitDNS(u8 *dnsip, u16 port); /* DNS初始化 */


u8 WCHNET_GetHostName(const char *hostname, u8 *addr, dns_callback found, void *arg); /* DNS获取主机名 */


void WCHNET_ConfigKeepLive(struct _KEEP_CFG *cfg); /* 配置库KEEP LIVE参数 */


u8 WCHNET_SocketSetKeepLive(u8 socindex, u8 cfg); /* 配置socket KEEP LIVE*/


void WCHNET_SetHostname(char *name); /* 配置DHCP主机名*/


void Ethernet_LED_Configuration(void);


void Ethernet_LED_LINKSET(u8 setbit);


void Ethernet_LED_DATASET(u8 setbit);


#ifdef __cplusplus

}

#endif

#endif


您好,在CH32V307 EVT的ETH文件夹下,有WCHNET使用文档,位置参考下图,里面有关于以太网库函数的介绍,可以看一下。EVT下载链接如下:

https://www.wch.cn/downloads/CH32V307EVT_ZIP.html 

image.png


只有登录才能回复,可以选择微信账号登录