美文网首页
ESP32 spi 驱动使用 dummy 方式支持设备驱动

ESP32 spi 驱动使用 dummy 方式支持设备驱动

作者: chou_o_ning | 来源:发表于2024-02-11 14:26 被阅读0次

ESP32 官方提供的 spi 驱动能够满足大多数的 spi 外设。但遇到 ch9434,一款四通道串口芯片时发现却无法满足。


ch9434 的 spi 时序要求

无法满足的时序是:写入时地址和数据之间需要1微妙延时,读取时需要3微妙延时。
ESP32 提供了 dummy 做延时,但是在延时的同时会发出时钟,时序无法满足。

spi_device_interface_config_t 数据结构

查看 esp32 的数据手册,spi_user_reg 寄存器,其实是可以设置在 dummy 期间无时钟输出的。

esp32 spi_user_reg 寄存器说明

因此可以通过修改 esp32 提供的函数 spi_ll_set_dmmy(),添加一行代码实现 ch9434 的时序。

spi_ll_set_dummy() 函数

然后在 spi 的初始化时,对 dummy_bits 进行配置即可(单位是bit的宽度,因此需要将延时的时间换算一下)

    spi_device_interface_config_t devcfg={
        ...
        .dummy_bits = xxx,
        ...

    };

相关文章

网友评论

      本文标题:ESP32 spi 驱动使用 dummy 方式支持设备驱动

      本文链接:https://www.haomeiwen.com/subject/gqfdadtx.html