diff --git a/Software/master/PressureSensorBoardMaster/Core/Src/main.c b/Software/master/PressureSensorBoardMaster/Core/Src/main.c
index 4867e06..64ea24a 100644
--- a/Software/master/PressureSensorBoardMaster/Core/Src/main.c
+++ b/Software/master/PressureSensorBoardMaster/Core/Src/main.c
@@ -544,9 +544,40 @@ uint16_t Calculate_CRC16(uint8_t *data, uint8_t length)
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
+{
+ /* 判断是哪个定时器触发的中断 */
+ if (htim->Instance == TIM3)
+ {
+ if(current_task_index < 7)
+ {
+ uint8_t group = (current_task_index + 1) / 2;
+
+ if(query_state[group] != STATE_COMPLETE)
+ {
+ slaves[group].is_online = 0;
+ slaves[group].is_responded = 0; // 矩阵回复表示从机就绪
+ }
+
+ }
+ else if (current_task_index == 7)
+ {
+ for(uint8_t i = 0; i < SLAVE_COUNT; i++)
+ {
+ slaves[group].is_online = 0;
+ slaves[group].is_responded = 0; // 矩阵回复表示从机就绪
+ }
-
-
+
+
+ }
+ current_task_index++;
+ // 注意:避免在中断中进行长时间操作或调用HAL_Delay。
+ __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_UPDATE); // 先清除标志位
+ HAL_TIM_Base_Stop_IT(htim); // 再安全地停止定时器
+ }
+ // 如果工程中有多个定时器中断,可以继续用 else if 判断
+}
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.0101 b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.0101
index 94e8c0a..4e040c4 100644
--- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.0101
+++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster.uvguix.0101
@@ -101,17 +101,17 @@
-1
- 303
- 199
- 1591
- 1181
+ 315
+ 235
+ 1627
+ 1193
0
- 422
- 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000000000000100000064433A5C55736572735C31353433355C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF65433A5C55736572735C31353433355C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C436F72655C5372635C75736172742E63000000000775736172742E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000BC0100009D0100002F060000A4030000
+ 593
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000003000000000000000100000064433A5C55736572735C31353433355C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF65433A5C55736572735C31353433355C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C436F72655C5372635C75736172742E63000000000775736172742E6300000000FFDC7800FFFFFFFF8C433A5C55736572735C31353433355C4465736B746F705C507265737375726553656E736F72426F6172645C536F6674776172655C6D61737465725C507265737375726553656E736F72426F6172644D61737465725C447269766572735C434D5349535C4465766963655C53545C53544D3332463178785C496E636C7564655C73746D33326631303378622E68000000000D73746D33326631303378622E6800000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000E0010000A901000053060000B0030000
@@ -1822,7 +1822,7 @@
Build
1010
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000019507265737375726553656E736F72426F6172644D61737465729600000000000000010019507265737375726553656E736F72426F6172644D6173746572000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000019507265737375726553656E736F72426F6172644D61737465729600000000000000010019507265737375726553656E736F72426F6172644D6173746572000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -3606,9 +3606,9 @@
0
../Core/Src/main.c
- 12
- 161
- 258
+ 70
+ 551
+ 568
1
0
@@ -3622,6 +3622,15 @@
0
+
+ ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h
+ 0
+ 639
+ 648
+ 1
+
+ 0
+
diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.axf b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.axf
deleted file mode 100644
index 6263d52..0000000
Binary files a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.axf and /dev/null differ
diff --git a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm
index 51e8f24..1a52cea 100644
--- a/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm
+++ b/Software/master/PressureSensorBoardMaster/MDK-ARM/PressureSensorBoardMaster/PressureSensorBoardMaster.build_log.htm
@@ -50,11 +50,10 @@ compiling main.c...
}
../Core/Src/main.c(523): warning: #940-D: missing return statement at end of non-void function "RS485_Output"
}
-../Core/Src/main.c: 11 warnings, 0 errors
-linking...
-Program Size: Code=8320 RO-data=312 RW-data=48 ZI-data=2256
-FromELF: creating hex file...
-"PressureSensorBoardMaster\PressureSensorBoardMaster.axf" - 0 Error(s), 11 Warning(s).
+../Core/Src/main.c(552): error: #29: expected an expression
+ if()
+../Core/Src/main.c: 11 warnings, 1 error
+"PressureSensorBoardMaster\PressureSensorBoardMaster.axf" - 1 Error(s), 11 Warning(s).
Software Packages used:
@@ -78,7 +77,8 @@ Package Vendor: Keil
* Component: ARM::CMSIS:CORE@6.1.0
Include file: CMSIS/Core/Include/tz_context.h
-Build Time Elapsed: 00:00:01
+Target not created.
+Build Time Elapsed: 00:00:00