Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SPI
RTTread的spi rt_spi_send_then_recv API 与HAl库的HAL_SPI_TransmitReceive使用是一样的吗
发布于 2023-07-26 21:34:21 浏览:496
订阅该版
RTTread的spi rt_spi_send_then_recv API 与HAl库的HAL_SPI_TransmitReceive使用是一样的吗 我使用RTTread的spiAPI `rt_spi_send_then_recv(ble_spi, &header_master, HEADER_SIZE, &header_slave, HEADER_SIZE);`发送一个header,同时收到的回复是:0x04ff030100,即从机芯片的异常返回 ![35275e3f47506aea56fb6bb03bac764.png](https://oss-club.rt-thread.org/uploads/20230726/24ab7e4acc8bc1c04bb22621c88b52c0.png) 将对应的API换成 `HAL_SPI_TransmitReceive(&hspi1, header_master, header_slave, HEADER_SIZE, BUS_SPI1_POLL_TIMEOUT);`,同时收到的回复是: 0xff09010600, 即正确的数据大小约定包 ![2120e44b98f49b49cf813ca2d7c9dde.png](https://oss-club.rt-thread.org/uploads/20230726/20b1623e65ceee2af3be449dbcda640a.png) 我的SPI初始化代码如下: ```c /* SPI -----------------------------------------------*/ #define SPI_DEVICE_NAME "spi10" /* SPI 设备名称 */ struct rt_spi_device *ble_spi = RT_NULL; ble_spi = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device)); if(RT_NULL == ble_spi) { rt_kprintf("Failed to malloc the spi device."); return -RT_ENOMEM; } if (RT_EOK != rt_spi_bus_attach_device(ble_spi, "spi10", "spi1", RT_NULL)) { rt_kprintf("Failed to attach the spi device."); return -RT_ERROR; } /* spi设备配置 */ struct rt_spi_configuration cfg; cfg.data_width = 8; cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_1 | RT_SPI_MSB; // CPOL 0 CPHA 1 cfg.max_hz = 1 * 1000 * 1000; /* 1M */ if (RT_EOK != rt_spi_configure(ble_spi, &cfg)) { rt_kprintf("Failed to config the spi device."); return -RT_ERROR; } ``` 配置的数据位宽 工作模式 和频率应该都是没有问题的(否则应该不能准确收到异常返回0x04ff030100) 我点开`rt_spi_send_then_recv` 的源码看着好复杂, 这个API在发送的工作上和HAL_SPI_TransmitReceive有什么时序的区别吗
查看更多
1
个回答
默认排序
按发布时间排序
paradox
2023-09-03
这家伙很懒,什么也没写!
买了个逻辑分析仪 问题已解决 用错API了 `rt_spi_transfer`才是同时双工收发
撰写答案
登录
注册新账号
关注者
0
被浏览
496
关于作者
paradox
这家伙很懒,什么也没写!
提问
5
回答
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 源码分析笔记 :线程和调度器
2
RT-Thread项目助手v0.2.0 - 支持Env Windows
3
RttreadV5.10上,GD32F450Z RTC时间显示问题
4
rt-smart启动流程分析
5
EtherKit快速上手PROFINET
热门标签
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
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
聚散无由
2
篇文章
13
次点赞
Wade
2
篇文章
2
次点赞
catcatbing
2
篇文章
1
次点赞
xiaorui
1
篇文章
1
次点赞
zhuzhuzhu
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部