F7M2#)7Pc1lEgb$!m{U@cr$4;Iad^AvQjX(o%t@AM(*u`q
x9GQMYiIZ>oUM)`h?H_bFe+e?Dm?Tdxbmly=eWN|64F|J%avGSse2WJs9{|JSBbNXG
diff --git a/MDK-ARM/MR16/MR16.build_log.htm b/MDK-ARM/MR16/MR16.build_log.htm
index e7ac90c..6db0152 100644
--- a/MDK-ARM/MR16/MR16.build_log.htm
+++ b/MDK-ARM/MR16/MR16.build_log.htm
@@ -22,7 +22,7 @@ Dialog DLL: TCM.DLL V1.48.0.0
Project:
D:\CUBEMX\MR16\MDK-ARM\MR16.uvprojx
-Project File Date: 11/27/2025
+Project File Date: 11/28/2025
Output:
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\cangming\ARM\ARMCC\Bin'
diff --git a/MDK-ARM/MR16/MR16.htm b/MDK-ARM/MR16/MR16.htm
index 67005d8..728cc4e 100644
--- a/MDK-ARM/MR16/MR16.htm
+++ b/MDK-ARM/MR16/MR16.htm
@@ -3,7 +3,7 @@
Static Call Graph - [MR16\MR16.axf]
Static Call Graph for image MR16\MR16.axf
-
#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Thu Nov 27 22:13:40 2025
+
#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Nov 28 00:21:12 2025
Maximum Stack Usage = 176 bytes + Unknown(Cycles, Untraceable Function Pointers)
Call chain for Maximum Stack Depth:
diff --git a/MDK-ARM/MR16/MR16_MR16.dep b/MDK-ARM/MR16/MR16_MR16.dep
index bc86d59..39dd517 100644
--- a/MDK-ARM/MR16/MR16_MR16.dep
+++ b/MDK-ARM/MR16/MR16_MR16.dep
@@ -1,7 +1,7 @@
Dependencies for Project 'MR16', Target 'MR16': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (startup_stm32f103xb.s)(0x692846FC)(--cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1"
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
--pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1"
--list startup_stm32f103xb.lst --xref -o mr16\startup_stm32f103xb.o --depend mr16\startup_stm32f103xb.d)
-F (../Core/Src/main.c)(0x69285C92)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\main.o --omf_browse mr16\main.crf --depend mr16\main.d)
+F (../Core/Src/main.c)(0x69287A4F)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\main.o --omf_browse mr16\main.crf --depend mr16\main.d)
I (../Core/Inc/main.h)(0x6926BBE5)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x67480A20)
I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6925BA2A)
@@ -43,7 +43,7 @@ I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2)
I (../sx1281-driver-c/sx1281_driver.h)(0x69248F54)
I (D:\cangming\ARM\ARMCC\include\math.h)(0x5E8E3CC2)
I (../User/device/device.h)(0x691D6BB5)
-I (../User/device/lcd.h)(0x69285BF2)
+I (../User/device/lcd.h)(0x69287A4F)
F (../Core/Src/gpio.c)(0x692846F9)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\gpio.o --omf_browse mr16\gpio.crf --depend mr16\gpio.d)
I (../Core/Inc/gpio.h)(0x691B56EA)
I (../Core/Inc/main.h)(0x6926BBE5)
@@ -901,7 +901,7 @@ I (..\sx1281-driver-c\radio.h)(0x69249477)
I (D:\cangming\ARM\ARMCC\include\string.h)(0x5E8E3CC2)
F (..\sx1281-driver-c\sx1281_driver_hal.h)(0x6924A201)()
F (..\sx1281-driver-c\sx1281_driver_spi.c)(0x6925BEAD)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\sx1281_driver_spi.o --omf_browse mr16\sx1281_driver_spi.crf --depend mr16\sx1281_driver_spi.d)
-I (../User/bsp/spi.h)(0x691D6BB5)
+I (../User/bsp/spi.h)(0x69287A10)
I (../Core/Inc/spi.h)(0x691B56EA)
I (../Core/Inc/main.h)(0x6926BBE5)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x67480A20)
@@ -1045,7 +1045,7 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x67480A20)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x67480A20)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x67480A20)
F (..\User\bsp\gpio.h)(0x691D6BB5)()
-F (..\User\bsp\spi.c)(0x69203C74)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\spi_1.o --omf_browse mr16\spi_1.crf --depend mr16\spi_1.d)
+F (..\User\bsp\spi.c)(0x69287A10)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\spi_1.o --omf_browse mr16\spi_1.crf --depend mr16\spi_1.d)
I (../Core/Inc/spi.h)(0x691B56EA)
I (../Core/Inc/main.h)(0x6926BBE5)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x67480A20)
@@ -1076,10 +1076,10 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h)(0x67480A20)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x67480A20)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x67480A20)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x67480A20)
-I (../User/bsp/spi.h)(0x691D6BB5)
+I (../User/bsp/spi.h)(0x69287A10)
I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2)
I (../User/bsp/bsp.h)(0x691D6BB5)
-F (..\User\bsp\spi.h)(0x691D6BB5)()
+F (..\User\bsp\spi.h)(0x69287A10)()
F (..\User\bsp\uart.c)(0x69249732)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\uart.o --omf_browse mr16\uart.crf --depend mr16\uart.d)
I (../Core/Inc/usart.h)(0x691B56EA)
I (../Core/Inc/main.h)(0x6926BBE5)
@@ -1115,8 +1115,8 @@ I (../User/bsp/uart.h)(0x692496BB)
I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2)
I (../User/bsp/bsp.h)(0x691D6BB5)
F (..\User\bsp\uart.h)(0x692496BB)()
-F (..\User\device\lcd.c)(0x69285BF2)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\lcd.o --omf_browse mr16\lcd.crf --depend mr16\lcd.d)
-I (..\User\device\lcd.h)(0x69285BF2)
+F (..\User\device\lcd.c)(0x69287A4F)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\lcd.o --omf_browse mr16\lcd.crf --depend mr16\lcd.d)
+I (..\User\device\lcd.h)(0x69287A4F)
I (../Core/Inc/spi.h)(0x691B56EA)
I (../Core/Inc/main.h)(0x6926BBE5)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x67480A20)
@@ -1148,11 +1148,11 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x67480A20)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x67480A20)
I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x67480A20)
I (../Core/Inc/gpio.h)(0x691B56EA)
-I (..\User\device\lcd_font.h)(0x6926CE6B)
+I (..\User\device\lcd_font.h)(0x69287A4F)
I (D:\cangming\ARM\ARMCC\include\stdlib.h)(0x5E8E3CC2)
-F (..\User\device\lcd.h)(0x69285BF2)()
+F (..\User\device\lcd.h)(0x69287A4F)()
F (..\User\device\device.h)(0x691D6BB5)()
-F (..\User\device\lcd_font.h)(0x6926CE6B)()
+F (..\User\device\lcd_font.h)(0x69287A4F)()
F (..\User\component\crc8.c)(0x691D6BB5)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ../sx1281-driver-c -I ../User
-I.\RTE\_MR16
-ID:\cangming\ARM\CMSIS\5.7.0\CMSIS\Core\Include
-ID:\cangming\keil\STM32F1xx_DFP\2.0.0\Device\Include
-D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB
-o mr16\crc8.o --omf_browse mr16\crc8.crf --depend mr16\crc8.d)
I (..\User\component\crc8.h)(0x691D6BB5)
I (D:\cangming\ARM\ARMCC\include\stdbool.h)(0x5E8E3CC2)
diff --git a/MDK-ARM/MR16/lcd.crf b/MDK-ARM/MR16/lcd.crf
index b78281519c959deb0cb59e0ff25ad50d08329e48..21855005b88266b35c7fbe412d3a9c6df5a95978 100644
GIT binary patch
delta 70
zcmdndue_sQd4d|(`7aAkvM~Tb$wq@Z4g|NVc?U=P4h}{jW&&bnAZ7t#Rv=~rV)o@b
II5_qL0GbpS*Z=?k
delta 70
zcmdndue_sQd4d|(r|k<*vM~Tb-$sKv4g_~f^A3*o9UP26%ml>DK+FQftU$~L#O%v=
IaB%Dg0GPTM*Z=?k
diff --git a/MDK-ARM/MR16/lcd.o b/MDK-ARM/MR16/lcd.o
index 345105fda51c53b4f690e2fd262a738a03767a13..38369c946f6158cd32d8e545eaf5d568280a3a07 100644
GIT binary patch
delta 102
zcmeB}uii0VeS@i#jD>=cfsv^a10zFxe2Ay7Yka(dl7WGhk)f5LVRN8Vd!Q5}5HkTW
wGZ3=?F)I+W0Wmueb8HWk;#AaTPqHwy&^2b5{xFl>a`GP*f$fJ}IgfP$08LIC-v9sr
delta 102
zcmeB}uii0VeS@i#jJbl5fsv^a10zFxe2Ay7Yka(dl97>>p^=r5adV(ld!Q5}5HkTW
wGZ3=?F)I+W0Wmueb8HWk;#AaTH&0Hp&^2b5{xFl>a`GP*f$fJ}IgfP$08-2x8UO$Q
diff --git a/MDK-ARM/MR16/main.crf b/MDK-ARM/MR16/main.crf
index bd82ccd43839bb84dfaf261a13cd3135658aba6a..a9719caae73f2431727c304972683946100ab13a 100644
GIT binary patch
delta 95
zcmcb;LiP3v)eRb4I_JMEJjuoY1ix>}GcXG4>FGP?7p3Y47bWZGCT8a8B{RTPd~6Qk
gY7gOJ1Y#y2W(HywAZ7((HXvpPVvg-0T%7D)05VV=DF6Tf
delta 95
zcmcb;LiP3v)eRb4I-j;LJjuoY1fn|Ox3mm4Vn
diff --git a/MDK-ARM/MR16/main.o b/MDK-ARM/MR16/main.o
index 8a4b1b783e51c7cb338a20fcd8383f1aefcf71dd..c3f28a1082fdded3da2abd0e4ddbe6b09a5f10c6 100644
GIT binary patch
delta 89
zcmX@IMB~U3jSU;QWh@ko42(>b7#JDi<3l`sUE|{wlne~4j0~*|4V%w$x1Z%^1Y#y2
jW(HywAZ7((HXvpPVvg-+xjF5Mn3IxCw)53-noR)!>p>hu
delta 89
zcmX@IMB~U3jSU;QWy}?f42(>b7#JDi<3l`sUE|{wl#Gn542`XfEt}7Bx1Z%^1Y#y2
jW(HywAZ7((HXvpPVvg-+xjF5Mm{U@cxAWC;noR)!?|&SG
diff --git a/MDK-ARM/MR16/spi_1.crf b/MDK-ARM/MR16/spi_1.crf
index 6d11daa3d5bc47070276e950d33c8e3d7fa631a8..fc36420392d020b8cb2c289ecb30d896cbc24f01 100644
GIT binary patch
delta 81
zcmbRJS84WNr41S!{1d(`JjuoY1VJ~g8JP4Z-(}XA9M9p&1sA{AyosZI69*#@GXXI(
V5VHU=D-g2*G5hvS92_sV0sy#f9Mb>*
delta 81
zcmbRJS84WNr41S!{9CVoJ;BBR1mAC3Gcf5-zRRpJIiACl>&uUZlVI_#=1m;!n>ZMO
Zm6#)Cz9n$~+
diff --git a/MDK-ARM/MR16/spi_1.o b/MDK-ARM/MR16/spi_1.o
index 30ce28ad37dd3fb230d54c3ff406927e5a2b6ade..326e0199c31fc6fdf60666671dbdf4347aed4f32 100644
GIT binary patch
delta 101
zcmew{QRBx%jSZaoG8PI(21cez42%r%@gbhRuJQ2-N(Kg2Mut{~hRv$_?W+2WK+FWh
v%s|Wn#H>Kf2E^<@%&}cnpYyQ>ds1>zvaT`1$ZGT(AKEV>27$
delta 101
zcmew{QRBx%jSZaoGG+=!21cez42%r%@gbhRuJQ2-N`@9z21ZtfCe5n)?W+2WK+FWh
v%s|Wn#H>Kf2E^<@%&}cnpYyQ>dx}Z2g|0Ef$ZGT(AKEUiurA
diff --git a/MDK-ARM/MR16/sx1281_driver_spi.crf b/MDK-ARM/MR16/sx1281_driver_spi.crf
index 453a3ee2a9cfa8e8fa1f80d748855ad0ca8dc1d3..93e00832da449f5d058883031253df5d890ff534 100644
GIT binary patch
delta 47
zcmbRLMrr;Vr3uPh6TU1w$;JQ#L5;etx{R&5Os%@it-36&x~#3bY^}QNTXi`;Z3O_8
C;18Do
delta 47
zcmbRLMrr;Vr3uPhTd#jT!Nvdt-y3yXbs1ZAnOb$3TXk7lby-_=*;;kkx9W0y+6n-*
Cix8Ip
diff --git a/MDK-ARM/MR16/sx1281_driver_spi.o b/MDK-ARM/MR16/sx1281_driver_spi.o
index 9a3d2981fa56519f59799c1ddc5a3f65ab52721f..5e6632824c869e37b9a78da3fde759eb17d96050 100644
GIT binary patch
delta 89
zcmaFzS?$SZwGF!jWGobn42(>b7#JDi<3l`sUE|{wlne~4j0~*|4V$kCv|kfo1Y#y2
jW(HywAZ7((HXvpPVvgb7#JDi<3l`sUE|{wlngDb42-M{jhn9tv|kfo1Y#y2
jW(HywAZ7((HXvpPVvgInstance == SPI1)
return BSP_SPI_SX1281;
+ if (hspi->Instance == SPI2)
+ return BSP_SPI_LCD;
else
return BSP_SPI_ERR;
}
@@ -98,6 +100,8 @@ SPI_HandleTypeDef *BSP_SPI_GetHandle(BSP_SPI_t spi) {
switch (spi) {
case BSP_SPI_SX1281:
return &hspi1;
+ case BSP_SPI_LCD:
+ return &hspi2;
default:
return NULL;
}
@@ -176,6 +180,13 @@ int8_t BSP_SPI_MemWrite(BSP_SPI_t spi, uint8_t reg, uint8_t *data, uint16_t size
return BSP_SPI_Transmit(spi, data, size, true);
}
+HAL_SPI_StateTypeDef BSP_SPI_GetState(BSP_SPI_t spi) {
+ if (spi >= BSP_SPI_NUM) return BSP_ERR;
+ SPI_HandleTypeDef *hspi = BSP_SPI_GetHandle(spi);
+ if (hspi == NULL) return BSP_ERR;
+ return HAL_SPI_GetState(hspi);
+}
+
/* USER FUNCTION BEGIN */
/* USER FUNCTION END */
diff --git a/User/bsp/spi.h b/User/bsp/spi.h
index a2de8e0..987b7eb 100644
--- a/User/bsp/spi.h
+++ b/User/bsp/spi.h
@@ -28,6 +28,7 @@ extern "C" {
/* SPI实体枚举,与设备对应 */
typedef enum {
BSP_SPI_SX1281,
+ BSP_SPI_LCD,
BSP_SPI_NUM,
BSP_SPI_ERR,
} BSP_SPI_t;
@@ -50,7 +51,6 @@ SPI_HandleTypeDef *BSP_SPI_GetHandle(BSP_SPI_t spi);
int8_t BSP_SPI_RegisterCallback(BSP_SPI_t spi, BSP_SPI_Callback_t type,
void (*callback)(void));
-
int8_t BSP_SPI_Transmit(BSP_SPI_t spi, uint8_t *data, uint16_t size, bool dma);
int8_t BSP_SPI_Receive(BSP_SPI_t spi, uint8_t *data, uint16_t size, bool dma);
int8_t BSP_SPI_TransmitReceive(BSP_SPI_t spi, uint8_t *txData, uint8_t *rxData,
@@ -61,6 +61,7 @@ int8_t BSP_SPI_MemWriteByte(BSP_SPI_t spi, uint8_t reg, uint8_t data);
int8_t BSP_SPI_MemRead(BSP_SPI_t spi, uint8_t reg, uint8_t *data, uint16_t size);
int8_t BSP_SPI_MemWrite(BSP_SPI_t spi, uint8_t reg, uint8_t *data, uint16_t size);
+HAL_SPI_StateTypeDef BSP_SPI_GetState(BSP_SPI_t spi);
/* USER FUNCTION BEGIN */
/* USER FUNCTION END */
diff --git a/User/device/lcd.c b/User/device/lcd.c
index 757413a..0bd5272 100644
--- a/User/device/lcd.c
+++ b/User/device/lcd.c
@@ -1,13 +1,13 @@
#include "lcd.h"
#include "lcd_font.h"
#include // 添加标准库以使用 malloc 和 free
-
+#include "bsp/spi.h"
// 写命令到LCD
static void LCD_WriteCommand(uint8_t cmd) {
LCD_DC_LOW();
LCD_CS_LOW();
- HAL_SPI_Transmit(&hspi1, &cmd, 1, HAL_MAX_DELAY);
+ BSP_SPI_Transmit(BSP_SPI_LCD, &cmd, 1, false);
LCD_CS_HIGH();
}
@@ -15,7 +15,7 @@ static void LCD_WriteCommand(uint8_t cmd) {
static void LCD_WriteData(uint8_t data) {
LCD_DC_HIGH();
LCD_CS_LOW();
- HAL_SPI_Transmit(&hspi1, &data, 1, HAL_MAX_DELAY);
+ BSP_SPI_Transmit(BSP_SPI_LCD, &data, 1, false);
LCD_CS_HIGH();
}
@@ -24,8 +24,8 @@ static void LCD_WriteData(uint8_t data) {
static void LCD_WriteDataBuffer_DMA(uint8_t *data, uint16_t size) {
LCD_DC_HIGH();
LCD_CS_LOW();
- HAL_SPI_Transmit_DMA(&hspi1, data, size); // 使用 DMA 传输
- while (HAL_SPI_GetState(&hspi1) != HAL_SPI_STATE_READY); // 等待传输完成
+ BSP_SPI_Transmit(BSP_SPI_LCD, data, size, false);
+ while(BSP_SPI_GetState(BSP_SPI_LCD) != HAL_SPI_STATE_READY)
LCD_CS_HIGH();
}
@@ -36,7 +36,7 @@ static void LCD_WriteDataBuffer(uint8_t *data, uint16_t size) {
} else { // 否则使用普通传输
LCD_DC_HIGH();
LCD_CS_LOW();
- HAL_SPI_Transmit(&hspi1, data, size, HAL_MAX_DELAY);
+ BSP_SPI_Transmit(BSP_SPI_LCD, data, size, false);
LCD_CS_HIGH();
}
}
diff --git a/User/device/lcd.h b/User/device/lcd.h
index b2bdc3f..abb1556 100644
--- a/User/device/lcd.h
+++ b/User/device/lcd.h
@@ -5,11 +5,11 @@
#include "gpio.h"
// 屏幕分辨率
-#define LCD_WIDTH 135
-#define LCD_HEIGHT 240
+#define LCD_WIDTH 135 //135
+#define LCD_HEIGHT 240 //240
-#define X_OFFSET 52
-#define Y_OFFSET 40
+#define X_OFFSET 52 //52
+#define Y_OFFSET 40 //40
// 常用颜色定义