gpt4 book ai didi

c - tx_buf 期望 spi_transfer 中的输入内容

转载 作者:行者123 更新时间:2023-11-30 15:46:18 26 4
gpt4 key购买 nike

我正在研究使用 spi_transfer 结构在 SPI 线上写入一些数据的代码

struct spi_transfer  
{
const void * tx_buf;
void * rx_buf;
unsigned len;
dma_addr_t tx_dma;
dma_addr_t rx_dma;
unsigned cs_change:1;
u8 bits_per_word;
u16 delay_usecs;
u32 speed_hz;
struct list_head transfer_list;
};

现在类似的事情已经在代码中完成了

u8 *cmd
cmd=kmalloc(3,GFP_KERNEL);
cmd[0]=16;
cmd[1]=32;

现在 t[0].tx_buf = cmd;

现在我想知道这个缓冲区中正在写入什么以及 tx_buf 在这里期望什么?我们正在通过 SPI 线写入一些看门狗计数器。

最佳答案

看起来您正在向 SPI 设备发送字节 0x10、0x20、0x00。应该有其他代码定义并初始化了 struct spi_transfer t[] 的其余部分。值得注意的是,t[0].len 必须设置为 3。

也许您的代码库用于内核模块/设备驱动程序。函数 spi_message_add_tail() 等位于内核源代码 include/linux/spi/spi.h 中。它们不是动态模块,但是当您的模块加载时,您的模块将与内核链接。

检查内核源代码以获取 SPI 基础设施使用的示例,例如驱动程序/base/regmap/regmap-spi.c。

关于c - tx_buf 期望 spi_transfer 中的输入内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18480367/

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