gpt4 book ai didi

linux - 具有可变寄存器大小的 spi_write_then_read

转载 作者:太空宇宙 更新时间:2023-11-04 10:25:07 26 4
gpt4 key购买 nike

据我了解,spi 中的术语“字长”(spi_bits_per_word) 定义了 CS(片选)事件时间。因此,在处理保持字长不变的简单 spi 协议(protocol)时,linux 驱动程序似乎可以正常运行。

但是,我们如何处理使用不同 spi 大小作为协议(protocol)一部分的 spi 协议(protocol)。例如cs需要激活发送spi word - 9位,然后读取spi - 8位或24位(每次读取的寄存器长度不同,取决于寄存器)

我们如何使用 spi_write_then_read 实现它?

我们是否需要为发送设置 bits_per_word 大小,然后为接收设置另一个 bits_per_word 大小?

问候,冉

最佳答案

“字长”是指您可以在一次交易中发送的位数。它没有定义 CS(片选)事件时间。你可以在任何你想要的时间保持它的事件状态(最少是字长)。SPI 有一些格式。您不能随意读写任意位数。大多数 SPI 支持 4 位、8 位、16 位和 32 位模式。如果给定的模式不能满足您的要求,那么您需要打破您的要求。例如:- 要读取 24 位数据,我们需要使用 8 位字长传输 3 次。通常 SPI 是全双工的,意味着它会在写入的同时读取。

关于linux - 具有可变寄存器大小的 spi_write_then_read,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41949579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com