ESP32-C3 SPI外设使用笔记

本文详细介绍了ESP32-C3芯片中的SPI外设,包括SPI0和SPI1用于内部闪存访问,以及通用SPI控制器SPI2。重点讲述了如何配置SPI驱动,如初始化总线、添加设备、设置传输参数。并提供了中断和轮询两种传输方式的使用方法,以及设备交互的步骤。此外,还提到了设备回传传输和卸载SPI驱动的选项。
摘要由CSDN通过智能技术生成

ESP32-C3 SPI 外围设备概述

‎ESP32-C3 集成了 3 个 SPI 外设。‎

  • SPI0 和 SPI1 在内部用于访问 ESP32-C3 的附加闪存。
  • ‎SPI2 是通用 SPI 控制器。它有一个同名的独立信号总线。总线有 6 条 Cs 线路, 最多可以控制 6 个 Spi salve。

SPI驱动配置

  • 通过调用函数‎‎ spi_bus_initialize()‎‎初始化 SPI 总线。请务必在结构 spi_bus_config_t中设置正确的 I/O 引脚。,参数‎‎-1设置不需要的信号‎‎.
  • 通过调用函数‎‎spi_bus_add_device() ‎‎注册连接到总线的设备。确保配置设备可能需要的任何计时要求与参数。您现在应该已获得设备的句柄,该句柄将在向其发送交易时使用‎‎‎dev_config.
  • ‎要与设备交互,请填写一个或多个‎‎spi_transaction_t‎‎结构,并设置所需的任何传输参数。然后使用轮询传输或中断传输发送指示:‎‎‎
    • Interrupt(中断)
      ‎要么通过将函数调‎‎用‎‎spi_device_queue_trans()‎‎‎‎来排队,并在稍后时间使用函数‎‎‎‎spi_device_get_trans_result()‎‎‎‎查询结果,要么通过将所有请求插入‎‎‎‎spi_device_transmit()‎‎‎‎同步处理所有请求。‎
    • Polling(轮询)
      调用函数‎‎spi_device_polling_transmit()‎‎发送轮询传输。或者,如果您想在两者之间插入某些东西,请使用‎‎spi_device_polling_start()‎‎和‎‎spi_device_polling_end()‎‎发送交易。‎
  • (可选) 要使设备执行back-to-back 传输,请在传输前调用函数spi_device_acquire_bus(),并在传输完成后调用函数‎‎spi_device_release_bus().
  • (可选) 卸载SPI驱动,请调用函数spi_bus_remove_device()‎‎.
  • (可选)释放SPI 总线‎spi_bus_free()‎‎。‎

未完… 待更新

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoqi976633690

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值