# Onps-WCH-CH32V307 **Repository Path**: zhouyong_bing/Onps-WCH-CH32V307 ## Basic Information - **Project Name**: Onps-WCH-CH32V307 - **Description**: 目标平台为沁恒CH32V307的onps协议栈样例工程,提供鸿蒙、FreeRTOS、RT-Thread三个os的适配样例。硬件原理图在Hardware文件夹下。 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2024-11-07 - **Last Updated**: 2024-11-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 0 开源链接 [Onps-WCH-CH32V307: 目标平台为沁恒CH32V307的onps协议栈样例工程,提供鸿蒙、FreeRTOS、RT-Thread三个os的适配样例。硬件原理图在Hardware文件夹下。 (gitee.com)](https://gitee.com/Neo-T/Onps-WCH-CH32V307) # 1 测试环境 ## 1.1 开发环境 IDE:[MounRiver Studio](http://www.mounriver.com/) 工程文件:![image-20230829141028831](figures/image-20230829141028831.png) 工程结构: ![image-20230829173226346](figures/image-20230829173226346.png) ## 1.2 引脚配置 代码基于沁恒移植的鸿蒙 liteos-m,系统配置如下: 1. 120MHz 主频; 2. 8MHz-OSC,32.768KHz-OSC32; 3. 串口1(PA9/PA10); 4. 内置 10M-PHY(PD14-ELED1/PD15-ELED2/PC6-RXP/PC7-RXN/PC8-TXP/PC9-TXN); 5. LED1/LED2(PB0/PB1)。 > 用户可根据自己的引脚进行适配。 ## 1.3 DHCP 及 IP 采用的是 target-board < ---- > router < ---- > PC 的连接方式,且 router 支持 DHCP,开源链接中的代码也实现了 DHCP 功能。 当前路由器的网关是 `192.168.2.1`,分配给 target-board 的 IP 为 `192.168.2.128`,分配给 PC 端的 IP 为 `192.168.2.203`。 ![image-20230829133412261](figures/image-20230829133412261.png) # 3 目标 IP 和 PORT target-board 客户端只需要修改对应的目标 IP 和 PORT,代码中提供了条件编译开关,开启对应的 TCP 通讯任务/线程,此处只打开一个 TCP 任务。 ![image-20230829140353507](figures/image-20230829140353507.png) 目标 IP 设置为 PC 端的 IP —— `192.168.2.203`。 目标 PORT 根据对应的服务器测试程序([TcpServerForStackTesting · Neo-T/Open-NPStack - 码云 - 开源中国 (gitee.com)](https://gitee.com/Neo-T/open-npstack/tree/master/TcpServerForStackTesting))进行设置,此处设置为 `6410`。 ![image-20230829173606573](figures/image-20230829173606573.png) 由于此处使用的是 IPV4,因此需要注意将此标志位清 0。 ![image-20230829173812663](figures/image-20230829173812663.png) > 注:此工程基于 VS2015 建立,如果只有 VS2022 等更高平台,最好重新建立一下工程。 # 5 运行情况 ![image-20230829192808443](figures/image-20230829192808443.png) # 6 注意事项 1. 若出现以下断开重连问题,请记得查看以下选项是否开启。 ```c #define SUPPORT_SACK 0 //* 系统是否支持sack项,sack项需要协议栈建立发送队列,这个非常消耗内存,请慎重选择 ``` ![image-20230829193327876](figures/image-20230829193327876.png) 2. 若出现类似的、大量的与`liteos`相关的报警信息,请忽略,选择**单独编译**后,这些报错就会消失,可能是与 MRS IDE 相关的 BUG。 ![image-20230829193514978](figures/image-20230829193514978.png)