Linux spi_写入_,然后以不同的寄存器大小读取
据我所知,spi中的字长spi_bits_per_word定义了CS芯片选择活动时间。 因此,似乎linux驱动程序在处理保持字大小不变的简单spi协议时可以正常工作 但是,我们如何处理使用不同spi大小作为协议一部分的spi协议呢。 例如,cs需要激活以发送spi字-9位,然后读取spi-8位或24位。每次读取的寄存器长度不同,取决于寄存器 我们如何使用spi写然后读来实现这一点 我们是否需要为发送设置位/字大小,然后为接收设置位/字大小 问候,,Linux spi_写入_,然后以不同的寄存器大小读取,linux,spi,Linux,Spi,据我所知,spi中的字长spi_bits_per_word定义了CS芯片选择活动时间。 因此,似乎linux驱动程序在处理保持字大小不变的简单spi协议时可以正常工作 但是,我们如何处理使用不同spi大小作为协议一部分的spi协议呢。 例如,cs需要激活以发送spi字-9位,然后读取spi-8位或24位。每次读取的寄存器长度不同,取决于寄存器 我们如何使用spi写然后读来实现这一点 我们是否需要为发送设置位/字大小,然后为接收设置位/字大小 问候,, Ran字长表示一次事务中可以发送的位数。它没
Ran字长表示一次事务中可以发送的位数。它没有定义CS芯片选择激活时间。你可以让它在你想要的任何时候保持活跃。 SPI有一些格式。您不能随意读写任意位数的位。大多数SPI支持4位、8位、16位和32位模式。如果给定的模式不能满足您的需求,那么您需要打破您的需求。例如:-要读取24位数据,我们需要使用8位字长传输3次。
通常SPI是全双工的,这意味着它将在写入的同时读取 谢谢,我想spi也会多用9位,是吗?就我的工作而言,我也不确定交易在spi中意味着什么。我从未遇到过9位SPI,即从未见过支持9位SPI发送/接收的硬件。如果您需要9位SPI,您需要对其进行位处理。这里的事务表示您一次传输的位数。例如:-如果我将字长设置为4,那么我可以在一个事务中发送4位。