W801 使用 SDK 驱动 W25Q128 时, 读取设备 ID 不成功, 无法驱动成功. 仅仅在 wm_801 中修改了初始的端口定义, 并检查过端口, 使用的 PB14/15/16/17 没有问题, 且已经成功用这 4 个端口驱动过 SPI 屏幕, 因此应该排除是端口链接不正确的问题.
查看更多
GPIO 初始化的地方截图看下.
发布 问题
分享 好友
手机 浏览
回到 顶部
预编译的宏已经打开了, GOIO 初始化是修改了 wm_main. c 中原来的引脚定义
配置没有问题, 建议检查下硬件接线, 用示波器看下 cs 脚有没有下拉, spi flash 我这边是有测试过可以正常使用哦.
好的 谢谢
@isme 今天重新测试了一下 25q128 winbond 的无法成功驱动, GD 的能成功驱动, 但是好像看 datasheet, 这两者基本是相同的.
@SK2024 GD 和 winbond, 指令有点区别, 印象中需要修改下驱动的一地方,
我今天也搞 SPI-FLASH 这个 W25Q128, 确实在 wm_fls. c 的 tls_spifls_read_id 函数里, 要做以下修改:
查了手册发现, 如果 0x90 发送 3 个 dumybyte, 即把 cmd 改成 cmd=0x90 能正确读取到结果. 若发送 0x9F 命令读取 JEDEC ID 的话, 是发送 0x9F, 然后直接读取 JEDEC ID, 不用发送 dummybyte 的.
我也是想移植别人的 W25QXX 代码, 一直失败. 网上说可以用 wm_fls_gd25qxx. c 才试一试能不能行. . 嗯, 果然能行, 我还是继续纠结我的配置哪里出问题. .
@haoronMango 参考这个 sdk http: //ask. winnermicro. com/article/76. html, w25qxx 和 gd25qxx 有做兼容