diff --git a/V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
index 45c033a..3785620 100644
--- a/V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
+++ b/V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
@@ -59,7 +59,7 @@
0
0
- 0
+ 1
0
@@ -69,7 +69,7 @@
0
- 0
+ 1
0
@@ -79,9 +79,9 @@
1
- 0
- cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
-
+ 1
+ cmd /c if not exist ..\OutputBin mkdir ..\OutputBin
+ C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
0
0
0
diff --git a/V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
index 8390c05..adc3e45 100644
--- a/V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
+++ b/V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
@@ -59,7 +59,7 @@
0
0
- 0
+ 1
0
@@ -69,7 +69,7 @@
0
- 0
+ 1
0
@@ -79,9 +79,9 @@
1
- 0
- cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
-
+ 1
+ cmd /c if not exist ..\OutputBin mkdir ..\OutputBin
+ C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
0
0
0
diff --git a/V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
index 7762665..b69c343 100644
--- a/V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
+++ b/V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
@@ -59,7 +59,7 @@
0
0
- 0
+ 1
0
@@ -69,7 +69,7 @@
0
- 0
+ 1
0
@@ -79,9 +79,9 @@
1
- 0
- cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
-
+ 1
+ cmd /c if not exist ..\OutputBin mkdir ..\OutputBin
+ C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
0
0
0
diff --git a/V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h b/V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h
index 2a2c88b..96b681b 100644
--- a/V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h
+++ b/V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h
@@ -26,7 +26,7 @@ typedef struct {
/* 默认 MQTT 参数已迁移到 main.h 的 MQTT_xxx 宏,避免多处维护不一致 */
/*===== U2_CopyBuff =====*/
-#define U2_COPY_SIZE 20480
+#define U2_COPY_SIZE 10240
extern uint8_t U2_CopyBuff[U2_COPY_SIZE];
extern volatile uint16_t U2_CopyIndex;
extern volatile uint8_t U2_CopyFlag;
diff --git a/V1.4-Chinese/STM32F103_App1/HardWare/SYSINIT/app_loop.c b/V1.4-Chinese/STM32F103_App1/HardWare/SYSINIT/app_loop.c
index f80112b..df41827 100644
--- a/V1.4-Chinese/STM32F103_App1/HardWare/SYSINIT/app_loop.c
+++ b/V1.4-Chinese/STM32F103_App1/HardWare/SYSINIT/app_loop.c
@@ -59,7 +59,7 @@ void app_init(void)
{
log_info("");
log_info("* * * * * * * * * * * * * * * * * *");
- log_info("* 版本: 1.4.0 (RTOS) *");
+ log_info("* 版本: 1.4.1 (RTOS) *");
log_info("* * * * * * * By Helei * * * *");
/* EEPROM 中的 MQTT/版本配置 */
diff --git a/V1.4-Chinese/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.4-Chinese/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
index 9d2f983..a47fd85 100644
--- a/V1.4-Chinese/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
+++ b/V1.4-Chinese/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
@@ -59,7 +59,7 @@
0
0
- 0
+ 1
0
@@ -69,7 +69,7 @@
0
- 0
+ 1
0
@@ -79,9 +79,9 @@
1
- 0
- cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
-
+ 1
+ cmd /c if not exist ..\OutputBin mkdir ..\OutputBin
+ C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
0
0
0
diff --git a/V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c b/V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c
index 03e8271..1ea9e4b 100644
--- a/V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c
+++ b/V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c
@@ -88,9 +88,15 @@ void NMI_Handler(void)
*/
void HardFault_Handler(void)
{
- /* USER CODE BEGIN HardFault_IRQn 0 */
-
- /* USER CODE END HardFault_IRQn 0 */
+ /* 硬件错误兜底:用轮询方式往 USART1 打一条消息(中断已不可靠),
+ * 之后停在这里由 IWDG 复位。串口看到 "HARD FAULT" 即说明发生过硬错误 */
+ {
+ static const char msg[] = "\r\n!!! HARD FAULT, wait IWDG reset !!!\r\n";
+ for (unsigned i = 0; i < sizeof(msg) - 1; i++) {
+ while ((USART1->SR & USART_SR_TXE) == 0) { }
+ USART1->DR = msg[i];
+ }
+ }
while (1)
{
/* USER CODE BEGIN W1_HardFault_IRQn 0 */
diff --git a/V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
index 16627d2..da6347c 100644
--- a/V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
+++ b/V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx
@@ -59,7 +59,7 @@
0
0
- 0
+ 1
0
@@ -69,7 +69,7 @@
0
- 0
+ 1
0
@@ -79,9 +79,9 @@
1
- 0
- cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
-
+ 1
+ cmd /c if not exist ..\OutputBin mkdir ..\OutputBin
+ C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf
0
0
0