mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 04:59:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 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。
 | 
