RTThread 添加外设LAN8720A

RTThread 添加外设LAN8720ARTThread添加外设LAN8720A以25M外部晶振对STM32F407VET6设置为例1、打开路径\drivers\board.h取消注释#defineBSP_USING_ETH#ifdefBSP_USING_ETH#definePHY_USING_LAN8720A2、配置ETH外设在CubeMX下配置STM32ETH外设,生成工程文件打开然后将函数voidHAL_ETH_MspInit(ETH_HandleTypeDef*ethHandle){/**

RTThread 添加外设LAN8720A

以25M外部晶振对STM32F407VET6设置为例

1、打开路径\drivers\board.h 取消注释
#define BSP_USING_ETH
#ifdef BSP_USING_ETH
#define PHY_USING_LAN8720A
2、配置 ETH外设

在CubeMX 下配置STM32 ETH外设 ,生成工程文件打开然后将函数

void HAL_ETH_MspInit(ETH_HandleTypeDef* ethHandle)
{

/**************/

}

所有内容复制放到RTThread Studio工程下的 drives\board.c文件
CubeMXETH
RTThread Studio
3、打开路径\drivers\stm32f4xx_hal_conf.h 取消注释

/* #define HAL_DMA2D_MODULE_ENABLED   */
#define HAL_ETH_MODULE_ENABLED
/* #define HAL_NAND_MODULE_ENABLED   */

RTThread Studio

3、添加外设复位函数

函数名固定,控制引脚为外设复位引脚

#include <rtthread.h>
#include <rtdevice.h>
#include <drivers/pin.h>
#include <board.h>


#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>

#define PHY_RESET_IO GET_PIN(B,10)
void phy_reset(void)
{ 
   
    rt_pin_mode(PHY_RESET_IO, PIN_MODE_OUTPUT);
    rt_pin_write(PHY_RESET_IO, PIN_HIGH);
    rt_thread_mdelay(50);
    rt_pin_write(PHY_RESET_IO, PIN_LOW);
    rt_thread_mdelay(50);
    rt_pin_write(PHY_RESET_IO, PIN_HIGH);
    rt_thread_mdelay(50);
}
4、开启Lwip

在这里插入图片描述

今天的文章RTThread 添加外设LAN8720A分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27023.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注