关于CH32V307以太网使用

news/2025/1/2 15:37:07/文章来源:https://www.cnblogs.com/liaigu/p/18644119

1、关于仿真

在使用以太网时,不建议使用仿真功能。因为在网络协议栈内部有一个变量需要固定间隔时间去进行累加计数,若使用仿真功能,会导致这个变量停止累加计数,从而导致程序出现异常;

 

2、关于内部10M PHY的使用

在使用内部10M PHY时,内部 10M PHY的时钟由 PLL3 提供,且必须为 60MHz。使用内部PHY时,需要把扩展寄存器的第 2 位置位,置位后,MII/RMII/RGMII 相关的设置均无效。配置程序如下:

 

 

3、关于减少重连等待时间配置

如下图,可以通过修改重传次数和重传周期减小等待时间

 

4、关于创建多个socket注意事项

创建多个socket需要先在net_config.h中修改对应模式socket数量,随后可参考各模式例程创建相应的socket。例如DHCP例程中,DHCP是需要创建UDP的socket来实现,DHCP成功后会创建TCP客户端,因此net_config.h参数修改如下:

若需要客户端不同的socket对应不同的服务器端,在创建socket时设置对应的目的IP和目的端口即可。大致步骤如下:

在连接上服务器之后,若客户端需要发一段数据给服务器,直接调用WCHNET_SocketSend函数即可实现数据发送。

 

5、关于数据接收方式以及获取连接设备的IP和port端口信息

WCHNET提供了两种数据接收的方式,第一种为中断方式,另一种为回调模式,如下图:

关于获取连接设备的IP和port信息

做tcp服务器时,可以在connect中断中打印SocketInf结构体中的目的IP和目的端口来获取对端的信息,具体如下图:

 

做UDP时,可在接收中断打印SocketInf结构体获取对端的信息,如下图:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861927.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建dvwa靶机

# 1、直接使用docker搭建方便很多,这个环境依赖问题没必要多花时间去研究; ubuntu安装docker apt-get update apt-get install apt-transport-https ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor …

深入理解Git:从原理到实践的全面指南

Hello World 深入理解Git:从原理到实践的全面指南本文深入剖析Git的核心概念和底层实现原理,包括对象模型、分支管理、合并策略等关键特性。通过理解Git的数据结构和工作机制,帮助开发者更好地处理版本控制中的各种复杂场景,从基础使用者进阶为Git专家。在日常开发中,很多…

墨天轮国产数据库排行榜年终总结-2024年

本文对2024年墨天轮中国数据库流行度排行榜进行了年终盘点,包含多个维度的详细分析整理,欢迎大家阅读交流。图片说明:按照墨天轮中国数据库流行度排行榜分数比例生成 前言: 岁月不居,时节如流。岁末年终,忽焉已至。墨天轮平台已于2024年12月1日公布了中国数据库流行度排行榜…

CISSP备考经验分享2024年12月

https://www.cnblogs.com/iAmSoScArEd/p/18644021 我超怕的 CISSP备考经验分享2024年12月 考试过了,以下是我的备考经历,不一定适合所有人,所以请按照自己的习惯备考。 考试感受 考试形式:CAT模式、中文(感兴趣可以先了解下考试模式:https://www.isc2china.org/cissp-cat…

Gradle下载Plugins插件连接超时 failed: Connection timed out: connect的解决方法

可以去gradle官方plugin仓库看看插件是否存在。 出现超时的问题多半都是网络因素,可能是复杂的网络导致你访问不了吧,配置下plugins可访问使用的仓库即可。 需要注意buildscript在plugins之上的位置。 buildscript {repositories {mavenLocal()maven { url https://maven.ali…

定义通用返回包装类

定义通用返回包装类 包装返回正确的数据格式,返回类型示例 {"code":200,"message":"success","data":[] }通用包装类 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;/*** @author zhangsh…

dolphinscheduler相关

任务状态和事件驱动时序图

蓝牙设备过多导致Win11出现不定时死机现象

10月份之后发现自己的ROG FLOW X16笔记本开始不定时死机了。具体表现是正常使用过程突然死机,各种地方点不动,不能注销,不能重启,不能关机,我的电脑打不开,任务管理器打开是一片空白。仅有一些窗口最大化和最小化之类的功能可以点击。并且没有任何表征,就是突然给你出现…

绝对不能错过的:Air201看门狗定时器!

看门狗技术(Watchdog Timer)是嵌入式系统中一种重要的稳定性增强技术,用于监测和恢复系统的正常运行状态。当系统因程序跑飞、死机或受到电磁干扰而无法正常工作时,看门狗能够及时检测并采取相应措施,从而避免系统长时间处于故障状态。 本文将带你了解看门狗的工作原理、应…

关于Chat2DB的吐槽

最近心血来潮准备支援原子一波、看着多出来一个选项联合会员chat2db、于是纳闷chat2db是个啥东西于是下载下来试用了一下,怎么说呢、不好评价 ​ SQL优化功能:一股浓浓的AI味,跟你直接问ChatGpt差不多。 ​ sql提示也没想象的好、自然语言转sql更是难用、不如直接自己写 ​ …

[转] 认知负荷才是关键

Title: cognitive-load/README.zh-cn.md at main zakirullin/cognitive-load URL Source: https://github.com/zakirullin/cognitive-load/blob/main/README.zh-cn.md简介(Introduction)这世上有如此多的“流行语”和“最佳实践”,但是让我们把注意力转向更基础的方面。即——…