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