diff --git a/HARDWARE/PID.c b/HARDWARE/PID.c index 517f340..b37c9ec 100644 --- a/HARDWARE/PID.c +++ b/HARDWARE/PID.c @@ -40,7 +40,7 @@ void PID_Init() pid.hp_l = 19.2; pid.hi_l = 0.08; pid.hd_l = 0; - pid.h_base_l = 30; + pid.h_base_l = 53; pid.cp = 4.8; pid.ci = 0; diff --git a/HARDWARE/rs485.c b/HARDWARE/rs485.c index 16afe73..bff3615 100644 --- a/HARDWARE/rs485.c +++ b/HARDWARE/rs485.c @@ -338,6 +338,9 @@ void RS485_3_Init(u32 bound) RS485_3_TX_EN = 0; } +/** + * send data to Serial 1 +*/ void RS485_1_Send_Data(u8 *buf, u8 len) { u8 t; @@ -353,7 +356,7 @@ void RS485_1_Send_Data(u8 *buf, u8 len) while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) ; - RS485_RX_CNT = 0; + // RS485_RX_CNT = 0; RS485_1_TX_EN = 0; } @@ -378,7 +381,10 @@ void RS485_1_Send_Data_1(u8 *buf, u8 len) RS485_1_TX_EN = 0; } -void RS485_1_Send_Data_2(void) +/** + * upload params to serial 1, HMI +*/ +void RS485_1_Upload_Params(void) { // when T eq 0 and H eq 0, don't send if (T == 0 && H == 0) { @@ -392,7 +398,7 @@ void RS485_1_Send_Data_2(void) sendbuf[46] = 0xFC; sendbuf[47] = 0xFF; sendbuf[48] = 0xFF; - // u8 a; + if (T <= 1000 && T >= -1000) { if (T < 0) { @@ -497,12 +503,12 @@ void RS485_1_Send_Data_2(void) // u8 tmpabc[] = {0xAA, 0xBB, 0xCC}; // RS485_1_Send_Data(tmpabc, 3); // only when modify happen, then send - if (cmp_str(prev_sendbuf, sendbuf, 49) != 0) { + // if (cmp_str(prev_sendbuf, sendbuf, 49) != 0) { RS485_1_Send_Data(sendbuf, 49); cp_str_to_prev(prev_sendbuf, sendbuf, 49); - } + // } } diff --git a/HARDWARE/rs485.h b/HARDWARE/rs485.h index 881fa75..703f7ba 100644 --- a/HARDWARE/rs485.h +++ b/HARDWARE/rs485.h @@ -21,7 +21,7 @@ void RS485_3_Init(u32 bound); void RS485_1_Send_Data(u8 *buf,u8 len); void RS485_1_Send_Data_1(u8 *buf,u8 len); //void RS485_3_Send_Data_1(void); -void RS485_1_Send_Data_2(void); +void RS485_1_Upload_Params(void); void RS485_1_Send_Data_3(void); void RS485_3_Send_Data(u8 *buf,u8 len); void RS485_Receive_Data(u8 *buf,u8 *len); diff --git a/USER/control.uvguix.Administrator b/USER/control.uvguix.Administrator index 5e11bd1..f505196 100644 --- a/USER/control.uvguix.Administrator +++ b/USER/control.uvguix.Administrator @@ -95,7 +95,7 @@ 0 1454 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000B00000002000000010000005E453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C6D796672656572746F735C6D796672656572746F732E63000000000C6D796672656572746F732E6300000000C5D4F200FFFFFFFF52453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF55453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C5049442E6300000000055049442E6300000000BECEA100FFFFFFFF55453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C5049442E6800000000055049442E6800000000F0A0A100FFFFFFFF58453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C52656C6179732E63000000000852656C6179732E6300000000BCA8E100FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C73746D3332663130782E68000000000B73746D3332663130782E68000000009CC1B600FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C72733438352E63000000000772733438352E6300000000F7B88600FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C77726974652E63000000000777726974652E6300000000D9ADC200FFFFFFFF6A453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C53544D3332463130785F46574C69625C7372635C73746D3332663130785F74696D2E63000000000F73746D3332663130785F74696D2E6300000000A5C2D700FFFFFFFF59453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C573235513132382E630000000009573235513132382E6300000000B3A6BE00FFFFFFFF62453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C6275696C645C4B65696C5C636F6E74726F6C2E6D6170000000000B636F6E74726F6C2E6D617000000000EAD6A300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000010030000 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000B00000000000000010000005E453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C6D796672656572746F735C6D796672656572746F732E63000000000C6D796672656572746F732E6300000000C5D4F200FFFFFFFF52453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF55453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C5049442E6300000000055049442E6300000000BECEA100FFFFFFFF55453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C5049442E6800000000055049442E6800000000F0A0A100FFFFFFFF58453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C52656C6179732E63000000000852656C6179732E6300000000BCA8E100FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C73746D3332663130782E68000000000B73746D3332663130782E68000000009CC1B600FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C72733438352E63000000000772733438352E6300000000F7B88600FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C77726974652E63000000000777726974652E6300000000D9ADC200FFFFFFFF6A453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C53544D3332463130785F46574C69625C7372635C73746D3332663130785F74696D2E63000000000F73746D3332663130785F74696D2E6300000000A5C2D700FFFFFFFF59453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C573235513132382E630000000009573235513132382E6300000000B3A6BE00FFFFFFFF62453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C6275696C645C4B65696C5C636F6E74726F6C2E6D6170000000000B636F6E74726F6C2E6D617000000000EAD6A300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000081020000 @@ -134,7 +134,7 @@ 0 16 - 0300000066000000ED000000E0020000 + 0300000066000000ED00000051020000 16 @@ -154,7 +154,7 @@ 0 16 - 0300000066000000ED000000E0020000 + 0300000066000000ED00000051020000 16 @@ -434,7 +434,7 @@ 0 16 - 0300000066000000ED000000E0020000 + 0300000066000000ED00000051020000 16 @@ -454,7 +454,7 @@ 0 16 - 0300000066000000ED000000E0020000 + 0300000066000000ED00000051020000 16 @@ -474,7 +474,7 @@ 0 16 - 000000001103000080070000DE030000 + 000000008202000080070000DE030000 16 @@ -514,7 +514,7 @@ 0 16 - 03000000140300007D070000C5030000 + 03000000850200007D07000036030000 16 @@ -1134,7 +1134,7 @@ 0 16 - 03000000140300007D070000C5030000 + 03000000850200007D07000036030000 16 @@ -1154,7 +1154,7 @@ 0 16 - 03000000140300007D070000C5030000 + 03000000850200007D07000036030000 16 @@ -1683,7 +1683,7 @@ 3119 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F4000000F40000004F00000090050000DD0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000F9020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000010030000000000004F000000F0000000F90200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002C02000090050000CE020000000000001502000090050000B702000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000F902000080070000FD0200000100000001000010040000000100000008FDFFFF8C000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000001403000080070000F503000000000000FD02000080070000DE0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F4000000F40000004F00000090050000DD0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000006A020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000010030000000000004F000000F00000006A0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002C02000090050000CE020000000000001502000090050000B702000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000006A020000800700006E020000010000000100001004000000010000005BFDFFFFDF000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000001403000080070000F5030000000000006E02000080070000DE0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1722,7 +1722,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1746,37 +1746,37 @@ 0 100 - 2 + 0 ../myfreertos/myfreertos.c - 0 + 25 198 - 221 + 219 1 0 main.c - 13 + 5 1 - 15 + 16 1 0 ../HARDWARE/PID.c - 17 + 18 115 - 130 + 136 1 0 ../HARDWARE/PID.h - 8 + 12 5 17 1 @@ -1803,9 +1803,9 @@ ../HARDWARE/rs485.c - 20 + 27 381 - 405 + 406 1 0 diff --git a/USER/control.uvoptx b/USER/control.uvoptx index c51f18f..6b68d63 100644 --- a/USER/control.uvoptx +++ b/USER/control.uvoptx @@ -118,7 +118,7 @@ 0 ST-LINKIII-KEIL_SWO - -U16004A002933353739303541 -O239 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) + -U16004A002933353739303541 -O239 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO19 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) 0 diff --git a/USER/control.uvprojx b/USER/control.uvprojx index 998e614..543aacc 100644 --- a/USER/control.uvprojx +++ b/USER/control.uvprojx @@ -47,7 +47,7 @@ 0 1 - .\build\Keil\ + ..\OBJ\ apk 1 0 diff --git a/myfreertos/myfreertos.c b/myfreertos/myfreertos.c index e9ce7a8..3813033 100644 --- a/myfreertos/myfreertos.c +++ b/myfreertos/myfreertos.c @@ -1,6 +1,8 @@ #include "myfreertos.h" #define SENSOR_ADDRESS 0x02 +#define INNER_SENSOR_ADDRESS 0x02 +#define OUTER_SENSOR_ADDRESS 0x04 char pubTopic[512] = "/sys/hp8oQhMZJ67/Device1/thing/event/property/post"; // Publish topic char subTopic[512] = "/sys/hp8oQhMZJ67/Device1/thing/service/property/set"; // Subscribe topic @@ -8,7 +10,7 @@ char subTopic[512] = "/sys/hp8oQhMZJ67/Device1/thing/service/property/set"; // S #define MQTT_SOCK 5 // task priority -#define START_TASK_PRIO 0 +#define START_TASK_PRIO 1 // Task stack size #define START_STK_SIZE 128 // task handle @@ -41,15 +43,21 @@ void Host_Computer_Communication(void); * sensor data request: 02 03 */ void SensorDataRequestTask(void *pvParameters); +// task handle +TaskHandle_t SensorDataRequestTask_Handler; /** * sync environment data: EE B5 01 */ void SyncEnvironmentDataRequestTask(void *pvParameters); +// task handle +TaskHandle_t SyncEnvironmentDataRequestTask_Handler; /** * 定时制热test */ void HotTestRequestTask(void *pvParameters); +// task handle +TaskHandle_t HotTestRequestTask_Handler; @@ -81,7 +89,9 @@ u8 Feed_Dog_Count = 0; // Feeding dog timing u8 now_stage = 1; // Current operational phase u16 tem, hum, red, blue, white; u8 hour, min; -u8 rs485buf[8] = {SENSOR_ADDRESS, 0x03, 0x00, 0x01, 0x00, 0x09, 0xD4, 0x3F}; // Sensor exchange data +// u8 rs485buf[8] = {SENSOR_ADDRESS, 0x03, 0x00, 0x01, 0x00, 0x09, 0xD4, 0x3F}; // Sensor exchange data +u8 INNER_SENSOR_485_REQUEST_COMMAND[8] = {INNER_SENSOR_ADDRESS, 0x03, 0x00, 0x01, 0x00, 0x09, 0xD4, 0x3F}; // Inner sensor exchange data +u8 OUTER_SENSOR_485_REQUEST_COMMAND[8] = {OUTER_SENSOR_ADDRESS, 0x03, 0x00, 0x00, 0x00, 0x02, 0xC4, 0x5E}; // Outer sensor exchange data u16 sync_cnt = 0; // 同步环境控制参数的计数器,到0同步 int T = 0, H = 0, C = 0, G = 0, current_T = 0; extern u8 total[]; @@ -116,13 +126,6 @@ void os_init(void) (UBaseType_t)START_TASK_PRIO, (TaskHandle_t *)&StartTask_Handler); - // 创建传感器数据请求任务 - xTaskCreate(SensorDataRequestTask, "SensorDataRequestTask", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL); - - xTaskCreate(SyncEnvironmentDataRequestTask, "SyncEnvironmentDataRequestTask", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 2, NULL); - xTaskCreate(HotTestRequestTask, "HotTestRequestTask", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 3, NULL); - - vTaskStartScheduler(); } @@ -156,12 +159,13 @@ void start_task(void *pvParameters) taskENTER_CRITICAL(); // 进入临界区 // 创建与传感器通信任务 - handler = xTaskCreate((TaskFunction_t)Sensor_Communication_task, - (const char *)"Sensor_Communication_task", - (uint16_t)Sensor_Communication_STK_SIZE, - (void *)NULL, - (UBaseType_t)Sensor_Communication_TASK_PRIO, - (TaskHandle_t *)&Sensor_CommunicationTask_Handler); + xTaskCreate( + (TaskFunction_t)Sensor_Communication_task, + (const char *)"Sensor_Communication_task", + (uint16_t)Sensor_Communication_STK_SIZE, + (void *)NULL, + (UBaseType_t)Sensor_Communication_TASK_PRIO, + (TaskHandle_t *)&Sensor_CommunicationTask_Handler); // if(handler==pdPASS){printf("与传感器通信任务创建成功\r\n");} // else{printf("与传感器通信任务创建失败\r\n");} @@ -175,6 +179,31 @@ void start_task(void *pvParameters) // if(handler4==pdPASS){printf("控灯任务创建成功\r\n");} // else{printf("控灯任务创建失败\r\n");} + // 创建传感器数据请求任务 + xTaskCreate( + (TaskFunction_t)SensorDataRequestTask, + (const char *)"SensorDataRequestTask", + (uint16_t)configMINIMAL_STACK_SIZE, + (void *)NULL, + (UBaseType_t)tskIDLE_PRIORITY + 2, + (TaskHandle_t* )&SensorDataRequestTask_Handler); + + xTaskCreate( + (TaskFunction_t)SyncEnvironmentDataRequestTask, + (const char *)"SyncEnvironmentDataRequestTask", + (uint16_t)configMINIMAL_STACK_SIZE, + (void *)NULL, + (UBaseType_t)tskIDLE_PRIORITY + 3, + (TaskHandle_t* )&SyncEnvironmentDataRequestTask_Handler); + xTaskCreate( + (TaskFunction_t)HotTestRequestTask, + (const char *)"HotTestRequestTask", + (uint16_t)configMINIMAL_STACK_SIZE, + (void *)NULL, + (UBaseType_t)tskIDLE_PRIORITY + 4, + (TaskHandle_t* )&HotTestRequestTask_Handler); + + vTaskDelete(StartTask_Handler); // 删除开始任务 taskEXIT_CRITICAL(); // 退出临界区 @@ -184,12 +213,14 @@ void start_task(void *pvParameters) void SensorDataRequestTask(void *pvParameters) { while (1) { // 发送传感器数据请求的操作 - RS485_1_Send_Data_1(rs485buf, 8); - delay_xms(100); - - // RS485_1_Send_Data_1(RS485_RX_BUF, 48); + RS485_1_Send_Data_1(INNER_SENSOR_485_REQUEST_COMMAND, 8); + vTaskDelay(100); + RS485_1_Send_Data_1(OUTER_SENSOR_485_REQUEST_COMMAND, 8); + vTaskDelay(100); + + // RS485_1_Send_Data_1(RS485_RX_BUF, 48); - vTaskDelay(SENSOR_DATA_REQUEST_PERIOD); + vTaskDelay(SENSOR_DATA_REQUEST_PERIOD - 200); } } @@ -257,9 +288,8 @@ void Sensor_Communication_task(void *pvParameters) u8 c = 0; RS485_RX_CNT = 0; while (isAllZeros(RS485_RX_BUF_COPY, 128) == 0) - // while (RS485_RX_CNT > 0) { - if (RS485_RX_BUF_COPY[0] == 0x02 && RS485_RX_BUF_COPY[1] == 0x03 && CRC16_check(RS485_RX_BUF_COPY, 21) == 1) + if (RS485_RX_BUF_COPY[0] == INNER_SENSOR_ADDRESS && RS485_RX_BUF_COPY[1] == 0x03 && CRC16_check(RS485_RX_BUF_COPY, 21) == 1) { c++; // receive message from sensor @@ -267,11 +297,22 @@ void Sensor_Communication_task(void *pvParameters) for (int i=0;i<23;i++) { temp_data[i] = RS485_RX_BUF_COPY[i]; } - process_sensor_data(temp_data); + process_inner_sensor_data(temp_data); RX_BUF_Transfer(0, 23); // u8 tmpaaa[] = {c}; // RS485_1_Send_Data_1(tmpaaa, 1); } + else if (RS485_RX_BUF_COPY[0] == OUTER_SENSOR_ADDRESS && RS485_RX_BUF_COPY[1] == 0x03 && CRC16_check(RS485_RX_BUF_COPY, 7) == 1) + { + // receive message from sensor + u8 temp_data[9] = {0}; + for (int i = 0; i < 9; i++) + { + temp_data[i] = RS485_RX_BUF_COPY[i]; + } + process_outer_sensor_data(temp_data); + RX_BUF_Transfer(0, 9); + } else if (RS485_RX_BUF_COPY[0] == 0xEE && RS485_RX_BUF_COPY[1] == 0xB6 && RS485_RX_BUF_COPY[2] == 0x01 && CRC16_check(RS485_RX_BUF_COPY, 16) == 1) { // batch update params in a stage @@ -317,7 +358,7 @@ void Sensor_Communication_task(void *pvParameters) bufcut_Init(RS485_DATA_TMP + 8, RS485_SUFFIX, 6, 10); RS485_1_Send_Data_1(RS485_DATA_TMP, 10); // delay_ms(10); - RS485_1_Send_Data_2(); // 上传参数 + RS485_1_Upload_Params(); // 上传参数 // } RX_BUF_Transfer(0, 6); } @@ -419,7 +460,7 @@ void Sensor_Communication_task(void *pvParameters) /** * process sensor data */ -void process_sensor_data(u8 *data) { +void process_inner_sensor_data(u8 *data) { T = data[3]; T = T << 8 | data[4]; // Negative temperature treatment @@ -504,10 +545,34 @@ void process_sensor_data(u8 *data) { // HC595_Send_Byte(gpio_state); - RS485_1_Send_Data_2(); // 上传参数 + RS485_1_Upload_Params(); // 上传参数 // delay_xms(200); } +/** + * process outer sensor data + */ +void process_outer_sensor_data(u8 *data) +{ + int out_tem = data[3]; + out_tem = out_tem << 8 | data[4]; + // Negative temperature treatment + if (out_tem & 0x8000) + { + out_tem = ((~out_tem + 1) & 0xFFFF); + } + pid.out_tem = (float)out_tem / 10; + + int out_humidity = data[5]; + out_humidity = out_humidity << 8 | data[6]; + // Negative temperature treatment + if (out_humidity & 0x8000) + { + out_humidity = ((~out_humidity + 1) & 0xFFFF); + } + pid.out_humidity = out_humidity; +} + /** * hmi event process */ @@ -522,93 +587,9 @@ void process_hmi_btn_event(u8 page, u8 btn_index, u8 value) { now_stage = target_stage; store_stage = target_stage; Write_Init(); - // delay_ms(10); - RS485_1_Send_Data_2(); // 上传参数 + RS485_1_Upload_Params(); // 上传参数 } break; } } } - -// void Host_Computer_Communication(void) -//{ -// if(RS485_RX_BUF_COPY[0]==0xEE&&RS485_RX_BUF_COPY[1]==0xB6) -// { -// if(RS485_RX_BUF_COPY[2]==0x03)//单个同步 -// { -// Analysis(&n,&i,RS485_RX_BUF_COPY); -// //printf("B6 03 cmd: batch sync\r\n"); -// Array(&now_stage,&hour,&min,&tem,&hum,&red,&blue,&white);//更新对应阶段号的参数 -// Write_Init(); -// RX_BUF_Transfer(0,11); -// -// } -// if(RS485_RX_BUF_COPY[2]==0x04)//阶段切换 -// { -// change_stage_rev1=RS485_RX_BUF_COPY[3]; -// //printf("B6 04 cmd: change stage\r\n"); -// RTC_synchronization_ins(2023,9,1,0,00,00); -// now_stage=change_stage_rev1; -// store_stage=change_stage_rev1; -// Write_Init(); -// RX_BUF_Transfer(0,8); -// } -// if(RS485_RX_BUF_COPY[2]==0x01)//批量同步 -// { -// Batch_synchronization(&n,RS485_RX_BUF_COPY); -// //printf("B6 01 cmd: get one %d\r\n", n); -// Array(&now_stage,&hour,&min,&tem,&hum,&red,&blue,&white);//更新对应阶段号的参数 -// //Write_Init();减少擦写的次数 -// RX_BUF_Transfer(0,20); -// } -// } -// else if(RS485_RX_BUF_COPY[0]==0xEE&&RS485_RX_BUF_COPY[1]==0xB1) -// { -// if(RS485_RX_BUF_COPY[2]==0x11&&RS485_RX_BUF_COPY[15]==0xFF&&RS485_RX_BUF[16]==0xFF)//单个同步默认带的数据 -// { -// //printf("cut overdata of B6 03 \r\n"); -// RX_BUF_Transfer(0,17); -// } -// if(RS485_RX_BUF_COPY[2]==0x11&&RS485_RX_BUF_COPY[14]==0xFF&&RS485_RX_BUF[15]==0xFF)//单个同步默认带的数据 -// { -// //printf("cut overdata of B6 03 \r\n"); -// //RX_BUF_Printf(128); -// RX_BUF_Transfer(0,16); -// //RX_BUF_Printf(128); -// } -// if(RS485_RX_BUF_COPY[2]==0x11&&RS485_RX_BUF_COPY[12]==0xFF&&RS485_RX_BUF_COPY[13]==0xFF)//阶段切换默认带的数据 -// { -// //printf("cut overdata of B6 04 \r\n"); -// //RX_BUF_Printf(128); -// RX_BUF_Transfer(0,14); -// } -// if(RS485_RX_BUF_COPY[2]==0x01&&RS485_RX_BUF_COPY[7]==0xFF&&RS485_RX_BUF_COPY[8]==0xFF)//上位机默认带的数据 -// { -// //printf("cut overdata of Upper computer \r\n"); -// //RX_BUF_Printf(128); -// RX_BUF_Transfer(0,9); -// //RX_BUF_Printf(128); -// -// } -// } -// else -// { -// //int ZERO_Count=0; -// //if()与while()的顺序不能变 -//// if((RS485_RX_BUF_COPY[0]!=0x00))//不为0,处理掉 -//// { -//// RX_BUF_Transfer(0,1); -//// //printf("the number is no zero\r\n"); -//// } -//// -//// while(RS485_RX_BUF_COPY[ZERO_Count]==0x00) -//// { -//// ZERO_Count++; -//// } -//// RX_BUF_Transfer(0,ZERO_Count); -// -// RX_BUF_Transfer(0,1); -// //printf("previous array cut\r\n"); - -// } -//} diff --git a/myfreertos/myfreertos.h b/myfreertos/myfreertos.h index 017ce04..333e021 100644 --- a/myfreertos/myfreertos.h +++ b/myfreertos/myfreertos.h @@ -24,7 +24,8 @@ #include "mqtt_api.h" void os_init(void); -void process_sensor_data(u8 *data); +void process_inner_sensor_data(u8 *data); +void process_outer_sensor_data(u8 *data); void process_hmi_btn_event(u8 page_index, u8 btn_index, u8 value); #endif