LAN8742芯片硬件复位

LAN8742是一款常见的PHY芯片,可以通过将RESETB引脚拉低实现硬件复位。在RT-Thread操作系统中,可以使用GPIO引脚控制RESETB,执行至少10us的低电平复位,然后恢复高电平。复位后需重新配置芯片的寄存器设置,如速度和双工模式。示例代码展示了如何通过rt_pin接口操作GPIO完成这一过程。
摘要由CSDN通过智能技术生成

LAN8742 是一种常用的 PHY 芯片,可以使用其提供的硬件复位功能来复位芯片。在 LAN8742 的数据手册中,有关硬件复位的详细信息可以在 “Power-on Reset and Hardware Reset” 一章中找到。

硬件复位通常通过将 PHY 芯片的 RESETB 引脚拉低一段时间来实现。具体而言,您可以将 RESETB 引脚连接到一个 GPIO 引脚,并在需要复位芯片时将该引脚拉低。为了确保复位有效,您需要在 RESETB 引脚上保持低电平至少 10us,然后将其拉高。

以下是一些可能有用的代码片段,演示如何使用 GPIO 引脚来复位 LAN8742 芯片:

#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>

/* 获取 GPIO 设备 */
struct rt_device *gpio_dev = rt_device_find("gpio0");

/* 配置 GPIO 引脚为输出模式 */
rt_pin_mode(PIN_ENET_RST, PIN_MODE_OUTPUT);

/* 将 RESETB 引脚拉低 */
rt_pin_write(PIN_ENET_RST, PIN_LOW);

/* 延时至少 10us */
rt_thread_mdelay(10);

/* 将 RESETB 引脚拉高 */
rt_pin_write(PIN_ENET_RST, PIN_HIGH);

这里假设 RESETB 引脚连接到了名为 “gpio0” 的 GPIO 设备上,并将其连接到了板子上的名为 “PIN_ENET_RST” 的引脚上。如果您的引脚不同,请相应地更改引脚名称。

请注意,硬件复位将删除 PHY 芯片中的所有寄存器设置,因此您需要重新配置 PHY 芯片以使其工作。在 RT-Thread 中,您可以使用 rt_hw_lan8742_init 函数初始化 LAN8742 PHY 芯片,并设置其速度、双工模式等参数。

【最后一个bug】多平台都有更新和发布,大家可以一键三连,关注+星标,不错过精彩内容~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值