esp-idf/docs/zh_CN/api-reference/peripherals/spi_features.rst
2023-02-16 16:27:42 +08:00

29 lines
1.3 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SPI 特性
============
.. _spi_master_features:
SPI 主机
----------
.. _spi_bus_lock:
SPI 总线锁
^^^^^^^^^^^^
为了多路复用来自 SPI 主机、SPI flash 等不同驱动的设备,每个 SPI 总线上都配有 SPI 总线锁。驱动程序可以通过对锁实施仲裁,将设备连接到总线上。
每个总线锁都已初始化并注册了后台服务 (BG)。设备应在 BG 禁用后,再在总线上进行传输。
- SPI1 总线的后台服务为高速缓存。在设备操作开始前,总线锁可以禁用高速缓存,并在设备释放锁后将其再次启用。高速缓存处于禁用状态时,让出当前任务的执行权毫无意义,因此,该情况下 SPI1 总线上的任何设备都无法使用 ISR。
.. only:: esp32
在 SPI1 总线上使用 SPI 主机驱动程序存在一些限制。请参见 :ref:`spi_master_on_spi1_bus`
.. only:: not esp32
SPI 主机驱动程序暂不支持 SPI1 总线。只有 SPI flash 驱动程序可以连接到该总线。
- 对于其他总线,驱动程序可以将 ISR 注册为后台服务。若设备任务要求独占总线,则总线锁将阻塞该任务,同时禁用 ISR随即解除对该任务的阻塞。任务释放锁后如果 ISR 中还有待处理的事务,则锁将尝试重新启用 ISR。