Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SPI
使用SPI3 W25Q出错
发布于 2018-08-15 14:43:48 浏览:3520
订阅该版
stm32f1_hal bsp env里面没有spi3,我自己在drv_spi.c里面依葫芦画瓢添加了spi3,云行shell报下面错误: ``` (rt_object_get_type(&mutex->parent.parent) == RT_Object_Class_Mutex) assertion failed at function:rt_mutex_take, line number:674 ``` 是在 ```c /* config spi */ { struct rt_spi_configuration cfg; cfg.data_width = 8; cfg.mode = RT_SPI_MODE_0 | RT_SPI_MSB; /* SPI Compatible: Mode 0 and Mode 3 */ cfg.max_hz = 50 * 1000 * 1000; /* 50M */ rt_spi_configure(spi_flash_device.rt_spi_device, &cfg); } ``` rt_spi_configure函数里面的 ```c rt_err_t rt_spi_configure(struct rt_spi_device *device, struct rt_spi_configuration *cfg) { rt_err_t result; RT_ASSERT(device != RT_NULL); /* set configuration */ device->config.data_width = cfg->data_width; device->config.mode = cfg->mode & RT_SPI_MODE_MASK ; device->config.max_hz = cfg->max_hz ; if (device->bus != RT_NULL) { result = rt_mutex_take(&(device->bus->lock), RT_WAITING_FOREVER); if (result == RT_EOK) { if (device->bus->owner == device) { device->bus->ops->configure(device, &device->config); } /* release lock */ rt_mutex_release(&(device->bus->lock)); } } return RT_EOK; } ``` `result = rt_mutex_take(&(device->bus->lock), RT_WAITING_FOREVER);` 这句话出错,  这是调试变量,感觉`device->bus->lock`值好像不对,应该是ram值吧?这是rom地址了。 还有就是问一下,这个device的地址就是`_spi_bus3`地址 怎么感觉不对劲啊?这两个不是同一个结构体啊,更不是union啊?
查看更多
3
个回答
默认排序
按发布时间排序
aozima
2018-08-16
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!
检查 你的 bus device这些对象的定义。 确认和SPI1 SPI2是否有画得不像的地方。 另外分清 spi_device(CS)和spi_bus的区别 spi3 和 spi30是不同的。
hw75320
2022-06-24
这家伙很懒,什么也没写!
请问解决了吗?我也碰到这个问题了
Hunter.zhao
2023-09-19
这家伙很懒,什么也没写!
在调用rt_device_find之前,需要先调用`rt_hw_spi_device_attach`,将SPI总线挂载到设备上。然后再做其他操作。 如果不使用CS,可以配置cfg.mode选项里面加一个 RT_SPI_NO_CS。比如: ```c struct rt_spi_configuration cfg; cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB | RT_SPI_NO_CS; ```
撰写答案
登录
注册新账号
关注者
0
被浏览
3.5k
关于作者
cxelove
这家伙很懒,什么也没写!
提问
6
回答
20
被采纳
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
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RyanMqtt 移植指南(三)
2
RyanMqtt QOS质量测试(二)
3
WCH APT 零等待FLASH的思考
4
RyanMqtt使用介绍和示例代码(一)
5
RTT平台 zephyr_polling软件包 Bluenrg2 蓝牙芯片启动流程
热门标签
RT-Thread Studio
串口
Env
LWIP
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
stm32
ESP8266
rt-smart
WIZnet_W5500
RTC
flash
ota
UART
FAL
packages_软件包
I2C
freemodbus
cubemx
潘多拉开发板_Pandora
定时器
PWM
BSP
ADC
socket
AB32VG1
SDIO
keil_MDK
中断
消息队列_msg_queue
编译报错
Debug
C++_cpp
msh
QEMU
SFUD
MicroPython
本月问答贡献
出出啊
1463
个答案
324
次被采纳
小小李sunny
1379
个答案
274
次被采纳
张世争
700
个答案
155
次被采纳
crystal266
518
个答案
152
次被采纳
whj467467222
1215
个答案
146
次被采纳
本月文章贡献
出出啊
1
篇文章
11
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
4
篇文章
6
次点赞
crystal266
2
篇文章
5
次点赞
whj467467222
2
篇文章
4
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部