[RISC-V MCU 应用开发]

关于CH32V307以太网使用

[复制链接]
752|0
手机看帖
扫描二维码
随时随地手机跟帖
神奇小子996|  楼主 | 2025-1-10 13:10 | 显示全部楼层 |阅读模式
1、关于仿真
在使用以太网时,不建议使用仿真功能。因为在网络协议栈内部有一个变量需要固定间隔时间去进行累加计数,若使用仿真功能,会导致这个变量停止累加计数,从而导致程序出现异常;
2、关于内部10M PHY的使用
在使用内部10M PHY时,内部 10M PHY的时钟由 PLL3 提供,且必须为 60MHz。使用内部PHY时,需要把扩展寄存器的第 2 位置位,置位后,MII/RMII/RGMII 相关的设置均无效。配置程序如下:
66399677f967bd2f70.png

37850677f96955f911.png
38400677f96a60330d.png
14959677f96b1c71aa.png
3、关于减少重连等待时间配置
如下图,可以通过修改重传次数和重传周期减小等待时间
4596677f96d463746.png
4、关于创建多个socket注意事项
创建多个socket需要先在net_config.h中修改对应模式socket数量,随后可参考各模式例程创建相应的socket。例如DHCP例程中,DHCP是需要创建UDP的socket来实现,DHCP成功后会创建TCP客户端,因此net_config.h参数修改如下:
5187677f96f508e9f.png
若需要客户端不同的socket对应不同的服务器端,在创建socket时设置对应的目的IP和目的端口即可。大致步骤如下:
32718677f9736c63d6.png
16215677f9746bd3c3.png
42647677f97559542d.png
31855677f9769126f1.png
在连接上服务器之后,若客户端需要发一段数据给服务器,直接调用WCHNET_SocketSend函数即可实现数据发送。

5、关于数据接收方式以及获取连接设备的IP和port端口信息
WCHNET提供了两种数据接收的方式,第一种为中断方式,另一种为回调模式,如下图:
710766780aa7d4b71f.png
174436780ab06350da.png
697806780ab1349447.png
655196780ab207b370.png
做UDP时,可在接收中断打印SocketInf结构体获取对端的信息,如下图:
456186780ab3e8c92e.png



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

17

帖子

0

粉丝