wiznet5k.py硬件驱动w5500芯片网卡bug

按照多数视频教程的说法rst接电源正极,就啥事没有,做快板子想尽善尽美,实在的分配P14给rst就出问题了,查来查去是驱动问题。

复制代码
# pylint: disable=too-many-arguments
def __init__(self, spi_bus, cs, reset=None, is_dhcp=True, mac=DEFAULT_MAC, hostname=None, dhcp_timeout=30, debug=False):
    self._debug = debug
    self._chip_type = None
    self._device = spi_bus
    self._device.init(baudrate=500000, polarity=0, phase=0) #baudrate=8000000
    self._cs = cs        
    # reset wiznet module prior to initialization
    if reset:
        reset.on()
        time.sleep(0.1)
        reset.off()
        time.sleep(0.1)

MicroPython的设计者认为:

pin.on() # 应该理解为"激活"或"生效"

pin.off() # 应该理解为"关闭"或"失效"

但问题是:对于复位引脚,"激活"是复位还是工作?

- 有些人认为:复位是"激活"特殊功能 → on() = 复位(低电平)

- 有些人认为:工作是"激活"芯片 → on() = 工作(高电平)

wiznet5k的作者显然采用了第一种理解:

reset.on() # 激活复位功能 = 拉低 = 复位

reset.off() # 关闭复位功能 = 拉高 = 工作

复制代码
# pylint: disable=too-many-arguments
def __init__(self, spi_bus, cs, reset=None, is_dhcp=True, mac=DEFAULT_MAC, hostname=None, dhcp_timeout=30, debug=False):
    self._debug = debug
    self._chip_type = None
    self._device = spi_bus
    self._device.init(baudrate=500000, polarity=0, phase=0) #baudrate=8000000
    self._cs = cs        
    # reset wiznet module prior to initialization
    if reset:
        reset.value(0)
        time.sleep(0.1)
        reset.value(1)
        time.sleep(1)

相关推荐
hulihutu4421 小时前
拒绝延期、bug、货不对板:2026 管理系统定制开发落地保障手册
github·bug·鸿蒙系统·数据库管理员
Rain50921 小时前
谁动了我的 URL?——记一次微前端“灵异 Bug“的排查实录
前端·vue.js·人工智能·前端框架·bug·ai编程
百变梦仔21 小时前
Codex 处理接口异常类 bug 时,我会让调试 Skill 先接住错误信息
bug
深念Y3 天前
fnOS-k3s-ResolvConf权限700-Bug分析
内核·bug·nas·k3s·fnos·魔改内核
不正经学生3 天前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
Capricorn19884 天前
Bug排障实录:Software 3.0 遭遇文献幻觉?知芽 Notebook Skill 底层架构解析
人工智能·笔记·架构·bug·论文笔记
项目管理与代码4 天前
Bug跟踪管理系统对比:从提报效率、流转体验与数据分析能力三个维度评估
bug·项目管理·bug跟踪
福大大架构师每日一题6 天前
RAGFlow v0.27.1 发布:新增 Azure DevOps、You.com 搜索,修复海量 Bug,性能大幅提升!
bug·azure·devops
树码小子6 天前
测试(6) - bug篇(上)
软件测试·bug
周杰伦的稻香7 天前
[bug]npx @deepseek-ai/dsh plugin ...无限吃内存卡死
bug