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();