Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SPI
WIZnet_W5500
N32G455使用w5500库初始化失败
发布于 2023-04-13 15:34:43 浏览:1160
订阅该版
现在问题是这样的 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230413/9972be595dc8e8a22a3cd8c3d980b03c.png) 会有这样报错 ``` [E/wiz] Wiznet chip not detected [E/wiz] RT-Thread WIZnet package (V2.1.0) initialize failed(-1). ``` 然后逻辑分析仪看了一下时序 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230413/51053f455e3381703ab8ba3ce28ae8a6.png.webp) cs引脚明显一直拉高。 在wiz.c中,需要用户对接`extern rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, GPIO_TypeDef *cs_gpiox, uint16_t cs_gpio_pin);`这句话 这里我的实现如下 ```c struct rt_spi_device *spi_device; /* attach the device to spi bus*/ spi_device = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device)); RT_ASSERT(spi_device != RT_NULL); rt_base_t cs_pin = GET_PIN(A, 15); rt_pin_mode(cs_pin, PIN_MODE_OUTPUT); result = rt_spi_bus_attach_device(spi_device, WIZ_SPI_DEVICE, "spi3", (void*)cs_pin); if (result != RT_EOK) { LOG_E("%s attach to %s faild, %d\n", "spi3", WIZ_SPI_DEVICE, result); } RT_ASSERT(result == RT_EOK); LOG_D("%s attach to %s done", device_name, bus_name); ``` 针对rt_spi_bus_attach_device函数的最后一个参数我个人的理解有限,我照着别的ic源码传入了pin脚,这里好像没有起作用
查看更多
9
个回答
默认排序
按发布时间排序
杨克宁
2023-11-19
这家伙很懒,什么也没写!
我是这样解决的: 在applications目录下(或者目录也可以)创建一个c文件,比如 hw_w5500.c, 把以下代码复制进入 ```c #include "drv_spi.h" // 使用PA6作为CS int w5500_spi_device_init() { /* 以下部分 参考了 STM32CubeMAX产生的代码 /Core/Src/gpio.c 中针对PA6的设置 */ GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_Initure.Pin = GPIO_PIN_6; GPIO_Initure.Mode = GPIO_MODE_OUTPUT_PP; //推挽输出 GPIO_Initure.Pull = GPIO_PULLUP; //上拉 GPIO_Initure.Speed = GPIO_SPEED_HIGH; //高速 HAL_GPIO_Init(GPIOA, &GPIO_Initure); /* 设置PA6的状态 */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET); //---------------- return rt_hw_spi_device_attach("spi2", "spi20", GPIOA, GPIO_PIN_6); } INIT_DEVICE_EXPORT(w5500_spi_device_init); ``` --- 另外: 1、如果wiz.c文件中 “I think you can attach w5500 into spi bus at here”... 之后,如果有添加自己的代码的话,请去掉。刚刚的代码就起到这个作用了; 2、刚刚的代码,假定使用的SPI2,请根据自己实际情况调整。
kirto
2023-04-13
这家伙很懒,什么也没写!
后续进展,目前看了一下 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230413/844be651e46627629f41a73b9a158d08.png) xfer里标注的user_data是struct n32_spi_cs类型,那我改变了之前的注册代码 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230413/7e86d192667c17224677ca59bfa9797a.png) 烧录进去问题还没消失,时序中cs还是没有被拉下来 ![screenshot_939a2124b3fcbde485e612027ba981b.png](https://oss-club.rt-thread.org/uploads/20230413/af39af841759ab219b47b08cdcbb9207.png.webp) ![screenshot_199ed7c6b9f65cbb73f6cc36100cca3.png](https://oss-club.rt-thread.org/uploads/20230413/2cedd486181cbb792e1c5c815634c795.png) 通过log发现,message->cs_take好像是false,那么如何使用这里的cs_take呢
红枫
认证专家
2023-04-13
这家伙很懒,什么也没写!
CS脚时钟要打开,另外看看引脚需不需要配置重映射。代码如下: ```c RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA, ENABLE); rt_hw_spi_device_attach("spi1", "spi10", GPIOA, GPIO_PIN_4); ```
YZRD
2023-04-18
这家伙很懒,什么也没写!
裸机使用spi能调通么?
yc961213911
2023-04-18
这家伙很懒
w5500不应该这么难调吧。这个是裸机驱动,没有接入RTT框架,你试试 [w5500.rar](https://club.rt-thread.org/file_download/7490f8a4f23bdac8)
puwanyong
2023-09-01
这家伙很懒,什么也没写!
楼主的问题解决了吗?
梦笑真美
2023-09-26
这家伙很懒,什么也没写!
楼主问题怎么解决的
八百里秦川
2023-12-13
这家伙很懒,什么也没写!
楼主,请问怎么解决的检测不到芯片问题?
saviourxx
2024-08-31
这家伙很懒,什么也没写!
![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240831/aa1b4675ad38d07b9a6f33a71ed57b0c.png.webp) 我也是n32g455挂w5500,感觉挺好的;
撰写答案
登录
注册新账号
关注者
2
被浏览
1.2k
关于作者
kirto
这家伙很懒,什么也没写!
提问
2
回答
1
被采纳
0
关注TA
发私信
相关问题
1
BBB的SPI驱动
2
求个SPI上挂两个或多个设备的使用例子
3
SPI设备有个bug
4
spi flash 的fatfs使用一段时间后读写文件出现故障
5
SPI驱动
6
请教rt_spi_configure函数理解
7
SPI FLASH挂载的问题
8
SPI-FLASH 文件系统 SPIFFS
9
求助一个完整的 spi flash 驱动
10
关于同时使用文件系统与SPI FLASH的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【RT-Thread】【ci】【scons】将ci.attachconfig.yml和scons结合使用
2
Rt-thread中OTA下载后,bootloader不搬程序
3
ulog 日志 LOG_HEX 输出时间改为本地日期时间
4
在RT-Thread Studio中构建前执行python命令
5
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
xusiwei1236
8
个答案
2
次被采纳
踩姑娘的小蘑菇
1
个答案
2
次被采纳
用户名由3_15位
9
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
RTT_逍遥
3
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
15
次点赞
catcatbing
2
篇文章
5
次点赞
Wade
2
篇文章
4
次点赞
Ghost_Girls
1
篇文章
7
次点赞
xiaorui
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部