diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..99b7488
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+[submodule "copyZ_zmodbus"]
+ path = copyZ_zmodbus
+ url = zwsd@192.168.1.3:tianjialong/copyZ_zmodbus.git
+[submodule "copyZ_zstm32uart_irq_rx_service"]
+ path = copyZ_zstm32uart_irq_rx_service
+ url = zwsd@192.168.1.3:tianjialong/copyZ_zstm32uart_irq_rx_service.git
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index 7015920..6a3e4f4 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -12,7 +12,9 @@
"D:\\keil\\ARM\\ARMCC\\include\\rw",
"${workspaceFolder}/app/MDK-ARM",
"${workspaceFolder}/app/Src",
- "${workspaceFolder}/app/Drivers/STM32F1xx_HAL_Driver/Src"
+ "${workspaceFolder}/app/Drivers/STM32F1xx_HAL_Driver/Src",
+ "${workspaceFolder}/zmodbus",
+ "${workspaceFolder}/zstm32uart_irq_rx_service"
],
"defines": [
"USE_HAL_DRIVER",
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 17f0091..48afcf2 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,5 +1,7 @@
{
"files.associations": {
- "main.h": "c"
+ "main.h": "c",
+ "new": "c",
+ "zstm32uart_irq_rx_service.h": "c"
}
}
\ No newline at end of file
diff --git a/app/MDK-ARM/app.uvguix.zwsd_cad3 b/app/MDK-ARM/app.uvguix.zwsd_cad3
index 5099e7c..65e677f 100644
--- a/app/MDK-ARM/app.uvguix.zwsd_cad3
+++ b/app/MDK-ARM/app.uvguix.zwsd_cad3
@@ -6,7 +6,7 @@
### uVision Project, (C) Keil Software
- C:\Users\zwsd_cad3\Desktop\copyZ_subwater_camera_enhancemen_board\src
+ C:\Users\zwsd_cad3\Desktop\copyZ_subwater_camera_enhancemen_board\copyZ_zstm32uart_irq_rx_service
@@ -110,8 +110,8 @@
0
- 378
- 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000000000000100000050433A5C55736572735C7A7773645F636164335C4465736B746F705C636F70795A5F73756277617465725F63616D6572615F656E68616E63656D656E5F626F6172645C6170705C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF4D433A5C55736572735C7A7773645F636164335C4465736B746F705C636F70795A5F73756277617465725F63616D6572615F656E68616E63656D656E5F626F6172645C7372635C7A706F72742E6800000000077A706F72742E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000069030000
+ 488
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000003000000020000000100000050433A5C55736572735C7A7773645F636164335C4465736B746F705C636F70795A5F73756277617465725F63616D6572615F656E68616E63656D656E5F626F6172645C6170705C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF4D433A5C55736572735C7A7773645F636164335C4465736B746F705C636F70795A5F73756277617465725F63616D6572615F656E68616E63656D656E5F626F6172645C7372635C7A706F72742E6800000000077A706F72742E6800000000FFDC7800FFFFFFFF51433A5C55736572735C7A7773645F636164335C4465736B746F705C636F70795A5F73756277617465725F63616D6572615F656E68616E63656D656E5F626F6172645C7372635C757365725F6D61696E2E63000000000B757365725F6D61696E2E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000069030000
@@ -1750,7 +1750,7 @@
1
16
- 000000001C000000E701000038000000
+ 010000001C000000E801000038000000
16
@@ -1806,7 +1806,7 @@
File
2682
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000056874696D3496000000000000000C00056874696D34056874696D3118706F72745F7365745F6C65645F6272696768746E6573736C0A4646545F4F7574707574034E5054044672657105627265616B056861646331056874696D3304504F525406687561727431044E445452000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000056874696D3496000000000000000C00056874696D34056874696D3118706F72745F7365745F6C65645F6272696768746E6573736C0A4646545F4F7574707574034E5054044672657105627265616B056861646331056874696D3304504F525406687561727431044E445452000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
966
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000036170709600000000000000010003617070000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000036170709600000000000000010003617070000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1862,12 +1862,12 @@
0
100
- 0
+ 2
../Src/main.c
- 18
- 73
- 97
+ 17
+ 70
+ 92
1
0
@@ -1881,6 +1881,15 @@
0
+
+ ..\..\src\user_main.c
+ 0
+ 1
+ 18
+ 1
+
+ 0
+
diff --git a/app/MDK-ARM/app.uvoptx b/app/MDK-ARM/app.uvoptx
index ebfeb04..fb7a73f 100644
--- a/app/MDK-ARM/app.uvoptx
+++ b/app/MDK-ARM/app.uvoptx
@@ -315,6 +315,66 @@
0
0
+
+ 2
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\copyZ_zmodbus\modbus_processer.c
+ modbus_processer.c
+ 0
+ 0
+
+
+ 2
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\copyZ_zmodbus\zmodbus_common.c
+ zmodbus_common.c
+ 0
+ 0
+
+
+ 2
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\copyZ_zmodbus\zmodbus_master.c
+ zmodbus_master.c
+ 0
+ 0
+
+
+ 2
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\copyZ_zmodbus\zmodbus_slave.c
+ zmodbus_slave.c
+ 0
+ 0
+
+
+ 2
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\copyZ_zstm32uart_irq_rx_service\zstm32uart_irq_rx_service.c
+ zstm32uart_irq_rx_service.c
+ 0
+ 0
+
@@ -325,7 +385,7 @@
0
3
- 11
+ 16
1
0
0
@@ -337,7 +397,7 @@
3
- 12
+ 17
1
0
0
@@ -349,7 +409,7 @@
3
- 13
+ 18
1
0
0
@@ -361,7 +421,7 @@
3
- 14
+ 19
1
0
0
@@ -373,7 +433,7 @@
3
- 15
+ 20
1
0
0
@@ -385,7 +445,7 @@
3
- 16
+ 21
1
0
0
@@ -397,7 +457,7 @@
3
- 17
+ 22
1
0
0
@@ -409,7 +469,7 @@
3
- 18
+ 23
1
0
0
@@ -421,7 +481,7 @@
3
- 19
+ 24
1
0
0
@@ -433,7 +493,7 @@
3
- 20
+ 25
1
0
0
@@ -445,7 +505,7 @@
3
- 21
+ 26
1
0
0
@@ -457,7 +517,7 @@
3
- 22
+ 27
1
0
0
@@ -469,7 +529,7 @@
3
- 23
+ 28
1
0
0
@@ -481,7 +541,7 @@
3
- 24
+ 29
1
0
0
@@ -493,7 +553,7 @@
3
- 25
+ 30
1
0
0
@@ -513,7 +573,7 @@
0
4
- 26
+ 31
1
0
0
diff --git a/app/MDK-ARM/app.uvprojx b/app/MDK-ARM/app.uvprojx
index ca5661f..7135d93 100644
--- a/app/MDK-ARM/app.uvprojx
+++ b/app/MDK-ARM/app.uvprojx
@@ -339,7 +339,7 @@
--diag_suppress=381 --diag_suppress=1 --diag_suppress=177 --diag_suppress=111 --diag_suppress=1295
USE_HAL_DRIVER,STM32F103xB
- ../Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include; ../../src
+ ../Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;../../src;../../copyZ_zmodbus;../../copyZ_zstm32uart_irq_rx_service
@@ -438,6 +438,31 @@
1
../Src/stm32f1xx_hal_msp.c
+
+ modbus_processer.c
+ 1
+ ..\..\copyZ_zmodbus\modbus_processer.c
+
+
+ zmodbus_common.c
+ 1
+ ..\..\copyZ_zmodbus\zmodbus_common.c
+
+
+ zmodbus_master.c
+ 1
+ ..\..\copyZ_zmodbus\zmodbus_master.c
+
+
+ zmodbus_slave.c
+ 1
+ ..\..\copyZ_zmodbus\zmodbus_slave.c
+
+
+ zstm32uart_irq_rx_service.c
+ 1
+ ..\..\copyZ_zstm32uart_irq_rx_service\zstm32uart_irq_rx_service.c
+
diff --git a/src/user_main.c b/src/user_main.c
index 8e9726b..6503ead 100644
--- a/src/user_main.c
+++ b/src/user_main.c
@@ -13,6 +13,16 @@
#include "tim.h"
#include "usart.h"
+#include "../copyZ_zstm32uart_irq_rx_service/zstm32uart_irq_rx_service.h"
+#include "modbus_processer.h"
+#include "zmodbus_slave.h"
+
+static zstm32uart_t s_uarts[] = {
+ {
+ .huart = &ORDER_485_UART,
+ } //
+};
+
/**
* @brief 调试指示灯控制
*/
@@ -29,6 +39,7 @@ void port_do_debug_light_state() {
}
void user_main() {
+ uart_service_start_all_uart_rx(s_uarts, ARRARY_SIZE(s_uarts));
while (true) {
port_do_debug_light_state();