关于spi接口的几个问题

发表在 SPI2020-2-11 20:41 [复制链接] 3 100

1、rt_err_t rt_spi_send_then_send8 g0 j1 i7 \" M1 s
     这个函数用于发送两个message结构体,发完一个后,控制cs仍为低,在发送第二个. G* _4 K( H5 T5 j" M
     那么为何不把两个message合并成一个在发送,这两个message 发送中间也没有控制间隔时间的参数,这个函数的应用内场景是咋样的,没想明白! v; w4 f3 R- Z
2、rt_spi_transfer" }& C" B( W- t4 X
     这个函数应该是发送和接收同时进行的全双工函数,那么这里的length参数就只有一个,就是说发送和接收长度必须保持一致才可以,这又会用在什么场景内。
* ]8 @2 o( D( S0 k! i; ~2 C. O* |: K  `, `& G
" ?* s  T: m  L  C& q! k' s+ z# l
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2020-2-11 20:49:36 | 显示全部楼层
rt_err_t rt_spi_send_then_send  没合并可能是考虑合并需要申请内存 ,但是rt_spi_message结构体中的next 这个指针也没有用起来,使用这个应该可以优化这个问题
使用道具 举报 回复
发表于 2020-2-11 21:13:45 | 显示全部楼层
freedom195 发表于 2020-2-11 20:496 N, a* A) r8 {) |
rt_err_t rt_spi_send_then_send  没合并可能是考虑合并需要申请内存 ,但是rt_spi_message结构体中的next  ...

& w2 y5 q$ W# B3 mrt_spi_send_then_send    这个函数是先发命令,在写数据
使用道具 举报 回复
发表于 2020-2-11 21:34:50 | 显示全部楼层
本帖最后由 aozima 于 2020-2-11 21:35 编辑 : d; p7 b- X. J
7 U" c7 _$ x2 E7 \" z
1. 你理解得对,时序上看只有一个send,但用于先发命令再跟数据的场合,不用挪动数据并申请内存。很实用。
3 @9 a3 D. b6 c6 K) D% k2. SPI就是全双工,单向传输时,另一侧的数据也是存在的,只是被忽略了。这是SPI最基本的传输,所有的API都是基于这个。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表