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文件


3、打开路径\drivers\stm32f4xx_hal_conf.h 取消注释

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

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相关推荐

  1. 关于rt-thread的外设驱动原理(例子spi)

    一:有关SPI rt中用户需要添加spi的注册和初始化文件如:drv_spi,里面需要做的是 static struct rt_spi_ops gd32_spi_ops = { configure, ...

  2. Simplicity Studio V5 建立一个空工程后如何添加外设驱动

    默认生成工程自带的驱动就这么多. 这些都可以根据自己需求添加.下面我们添加i2c,IADC,LDMA三个. 这里多出了三个文件:em_i2c.c.em_iadc.c.em_ldma.c,这就是自己添加 ...

  3. rtthread添加设备驱动的两种方式

    RT-Thread-<玩转ART-Pi开发板>第6章 ART-Pi 添加一个串口设备RT-Thread问答社区 - RT-Threadhttps://club.rt-thread.org/ ...

  4. 蓝牙耳机无法连接到电脑,计算机蓝牙无法添加外设

    首先,你应该是在计算机蓝牙上添加不上你的外设,如下图: 然后,大家就纳闷了,开始检查,请教大神,然后发现"右键此电脑-管理-服务与应用程序-服务-Bluetooth Handsfree Se ...

  5. RT-Thread Studio移植LAN8720A驱动

    RTT网络协议栈驱动移植(霸天虎) 1.新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号. 2.用CubeMx配置板子外设 2.1.配置时钟 ​ 按照自己板子配置相应时钟. ​ ​ 2 ...

  6. 鼠标跨屏操作(无需添加外设)-- Mouse without Borders

    微软推出的 Mouse without Borders (无界鼠标)可以在同一个局域网内,使用一套键鼠,控制最多四台电脑. 优点:安装简约 Q:如何将键盘鼠标从电脑1(左侧)切换到电脑2(右侧)? A ...

  7. RT-Thread OS的启动流程

    1.RT进入main之前, SystemInit函数初始化时钟. 2.main函数位于startup.c文件中.进行两个工作 系统开始前,rt_hw_interrupt_disable关闭所有中断. ...

  8. 手把手教你移植RT-Thread系统

    学习RT-Thread系统有一段时间了,感觉RT-Thread系统使用起来很简单,也很方便.但是在最开始移植的时候网上的教程很多,也很杂乱.比如可以使用官方的软件RT-Thread Studio 直接 ...

  9. [RTOS]rtthread,freeRTOS,uCOS等系统简单对比

    在上一篇<嵌入式操作系统浅谈>中,大概介绍了我自己再工作中使用到的如rt-thread,freeRTOS,uCOS,luatos等系统,在这一篇文章中,我简单说一下这些操作系统一些特点,还 ...

最新文章

  1. Docker入门与实践
  2. python 轨迹识别
  3. python print进度条效果
  4. ajax无刷新留言板远吗,基于jquery实现ajax无刷新评论
  5. SAP query生成的程序名
  6. HTML文档包应含几个基本标记,HTML中包含哪些基本的标记?
  7. 『安卓』安卓开发基础--基本控件
  8. 计算机的就业指导论文,计算机就业指导期刊文章参考文献 计算机就业指导专著类参考文献有哪些...
  9. 记一次YY笔试中卡住得知识点
  10. bzoj3944 Sum 杜教筛
  11. mysql string agg_postgresql – 如何使array_agg()像mySQL中的group_concat()一样工作
  12. SpringBoot2 结合BeetlSQL开发
  13. 在SPSS中使用广义估算方程对非独立相关数据进行分析的方法
  14. 上海自考计算机应用基础实践,2001年4月份全国高教自考计算机应用基础试题及答案...
  15. MATLAB强化学习实战(十) 多智能体的路径跟随控制
  16. portraiture2022插件安装使用教程
  17. 《WEB开发-阿里云建站》第1章 建站前的准备
  18. http://strong0511.blog.163.com/blog/static/15115379520124510362211/
  19. 牙齿底部粉色原因-ECR(External cervical resorption)
  20. linux内核开发(基础)

热门文章

  1. iOS开发 真机测试包 (调试包)--- 持续更新
  2. MySQL打不开可能原因:MySQL服务未启动
  3. 原来HR喜欢的简历长这样
  4. 北京朝阳区电子眼查询
  5. MotoGP Ignition:聚焦活动 #7 来啦!
  6. 高校征信系统项目Postmortem结果
  7. 绝对定位的子盒子无法撑开父盒子的原因和解决方案
  8. 陈氏太极拳的健身与技击作用
  9. FSMN及其变种cFSMN DFSMN pyramidal-FSMN
  10. HackRF结合GnuRadio发射接收广播