From ce84f5c75703cffab68fa34ff587823a5047f52b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=90=83=E6=B2=B9=E7=82=B8=E9=B8=A1?= <1425962791@qq.com> Date: Sun, 15 Mar 2026 10:35:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=AE=BE=E7=BD=AE=E6=97=8B?= =?UTF-8?q?=E8=BD=AC=E5=87=BD=E6=95=B0=E7=9A=84=E5=86=B2=E7=AA=81=E9=81=BF?= =?UTF-8?q?=E5=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- software/Power_Pico/BSP/LCD/lcd_init.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/software/Power_Pico/BSP/LCD/lcd_init.c b/software/Power_Pico/BSP/LCD/lcd_init.c index 5d9c77d..599c4bd 100644 --- a/software/Power_Pico/BSP/LCD/lcd_init.c +++ b/software/Power_Pico/BSP/LCD/lcd_init.c @@ -185,6 +185,10 @@ void LCD_ST7789_SleepOut(void) 返回值: 无 ******************************************************************************/ void LCD_SetRotation(uint16_t rotation) { + // 确保SPI总线空闲,避免在发送命令时发生冲突(因为DMA是16bit的) + while (HAL_SPI_GetState(&hspi2) != HAL_SPI_STATE_READY) { + __NOP(); // 只是为了防止编译器过度优化空循环 + } LCD_WR_REG(0x36); // Memory Data Access Control switch(rotation) { case 0: