当前位置:网站首页>【RT_Thread学习笔记】---以太网LAN8720A Lwip ping 通网络
【RT_Thread学习笔记】---以太网LAN8720A Lwip ping 通网络
2022-08-03 05:33:00 【Car12】
1. 创建RT-Thread 工程
本次使用的板子是正点原子的STM32F407ZGT6开发板
1.基于mcu方式创建工程
2.编译项目](/img/0b/c2eb091f0a450288b12d403f6dad0f.png)
3.打开工程下的borad.h文件–查看官方说明文件
大致意思是:
1.定义 BSP_USING_ETH 宏定义
2. 使用CubeMX根据硬件生成以太网eth配置,生成一个工程然后拷贝stm32xxxx_hal_msp.c g 文件中的void HAL_ETH_MspInit(ETH_HandleTypeDef* heth) 函数到board.c 文件中
3. 在 stm32xxxx_hal_config.h 文件内打开 #define HAL_ETH_MODULE_ENABLED 宏
4. 配置你使用的PHY芯片型号
5. 定义PHY芯片的复位函数,函数原型是:void phy_reset(void)
6. 配置LWIP协议栈

正式开始配置
1.接下来按照他的说明配置
## 打开cubemx
配置cubemx


生成代码

移动代码–主要是防止编译器编译
移动生成的代码到上一级
## 拷贝代码

打开 HAL_ETH_MODULE_ENABLED 宏

使能用到的PHY

编写PHY复位函数
#include <rtdevice.h>
#define RESET_IO GET_PIN(D, 3)
void phy_reset(void)
{
rt_pin_mode(RESET_IO, PIN_MODE_OUTPUT);
rt_pin_write(RESET_IO, PIN_HIGH);
rt_thread_mdelay(50);
rt_pin_write(RESET_IO, PIN_LOW);
rt_thread_mdelay(50);
rt_pin_write(RESET_IO, PIN_HIGH);
}
配置lwip


保存配置
编译代码

下载测试

—配置完成
边栏推荐
猜你喜欢

MySQL的10种常用数据类型

5G网络入门基础--5G网络的架构与基本原理

Pinned Articles-

Nacos与Eureka的区别

AR路由器如何配置Portal认证(二层网络)

【dllogger bug】AttributeError: module ‘dllogger‘ has no attribute ‘StdOutBackend‘

PCB板上的字母代表哪些元器件?一文看全!

MySQL的DATE_FORMAT()函数将Date转为字符串

Composer require 报错 Installation failed, reverting ./composer.json and ./composer.lock to their ...

Command errored out with exit status 1类似问题解决方案
随机推荐
MySQL的DATE_FORMAT()函数将Date转为字符串
QT 连续生成指定范围内不重复的随机值
Embedding two implementations of the torch code
IDEA连接mysql又报错!Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ prope
异常检测 IsolationForest 返回概率
Autowired注解与Resource注解的区别
UniApp 获取当前页面标题(navigationBarTitleText)
【nohup】nohup命令的简单使用
【EA Price strategy OC1】以实时价格为依据的EA,首月翻仓!】
信息学奥赛一本通T1447:靶形数独
npx 有什么作用跟意义?为什么要有 npx?什么场景使用?
PCB制造常用的13种测试方法,你了解几种?
5 个开源的 Rust Web 开发框架,你选择哪个?
pyspark---对suuid区间编码(基于曝光数、点击数)
关于Attention的超详细讲解
mysql慢查询优化
cnpm的安装与使用
cookie和session区别
MySQL的on duplicate key update 的使用
mysql的配置文件(my.ini或者 my.cnf)所在位置