From 598778b7b675eca6657ec7e7daeb73cf18e58bfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zeng=20wei=20=28=E6=9B=BE=E5=A8=81=29?= Date: Fri, 8 Mar 2024 15:08:27 +0800 Subject: [PATCH] =?UTF-8?q?pid=E8=B0=83=E8=8A=82-=E5=8A=A0=E7=83=AD?= =?UTF-8?q?=E6=A3=92pi+=E5=8E=8B=E7=BC=A9=E6=9C=BAp+=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=B4=AF=E8=AE=A1=E9=99=90=E5=88=B6=EF=BC=8C=E5=8E=8B=E7=BC=A9?= =?UTF-8?q?=E6=9C=BA=E9=A2=9D=E5=AE=9A=E5=8A=9F=E7=8E=87=E8=B0=83=E8=8A=82?= =?UTF-8?q?=E4=B8=BA4500=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 11 +- HARDWARE/PID.c | 130 ++-- HARDWARE/rs485.c | 10 +- USER/control.uvguix.Administrator | 221 +++--- USER/control.uvoptx | 1141 +++++++++++++---------------- USER/control.uvprojx | 105 +-- myfreertos/myfreertos.c | 60 +- 7 files changed, 803 insertions(+), 875 deletions(-) diff --git a/.gitignore b/.gitignore index 3592f04..f61b237 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,10 @@ -OBJ/* \ No newline at end of file +OBJ/* +*.d +*.o +*.crf +*.sct +*.lnp +*.htm +*.axf +*.hex +*.dep \ No newline at end of file diff --git a/HARDWARE/PID.c b/HARDWARE/PID.c index efb033b..f590a48 100644 --- a/HARDWARE/PID.c +++ b/HARDWARE/PID.c @@ -25,7 +25,7 @@ void PID_Init() if (pid.Kd < 1e-7) { pid.Kd = 340; } if (pid.tem_threshold < 0.0001) { pid.tem_threshold = 0.2; } - pid.t = 5000; // PID calc period + pid.t = 1000; // PID calc period // pid.Ti=5000000;// integral time // pid.Td=1000;// differential time pid.pwmcycle = 200; // pwm cycle 200 @@ -50,6 +50,7 @@ void set_compressor_power(int speed) { GetCRC16(data, 6, data + 6, data + 7); RS485_3_Init(9600); + delay_xms(30); RS485_3_Send_Data(data, 8); delay_xms(30); RS485_1_Init(9600); @@ -72,6 +73,8 @@ void set_heater_power(int percent) { GetCRC16(data, 6, data + 6, data + 7); + RS485_1_Init(9600); + delay_xms(30); RS485_1_Send_Data(data, 8); delay_xms(30); } @@ -79,7 +82,7 @@ void set_heater_power(int percent) { /** * heater power calc */ -int calc_p(float t_t, float t_c, float error, int p_b, float pid_p, float pid_i) { +int calc_hp(float t_t, float t_c, float error, int p_b, float pid_p, float pid_i) { int p = p_b + pid_p * (t_t - t_c) + pid_i * error; if (p > 100) { return 100; @@ -90,33 +93,58 @@ int calc_p(float t_t, float t_c, float error, int p_b, float pid_p, float pid_i) return p; } +/** + * compressor power percent calc +*/ +int calc_cp(float t_t, float t_c, int p_cb, float pid_cp) { + int percent = p_cb + pid_cp * (t_c - t_t); + if (percent > 100) { + return 100; + } + if (percent < 0) { + return 0; + } + return percent; +} + +/** + * compressor speed calc +*/ +int calc_compressor_speed(int percent, int v_min, int v_max) { + int v = percent * v_max / 100.0; + if (v > v_max) { + return v_max; + } + if (v < v_min) { + return v_min; + } + return v; +} + void PID_Calc() // pid calc { - pid.Kp = 19.2; - pid.Ki = 0.02; + float Kp = 19.2; + float Ki = 0.02; int p_base = 52; float DelEk; // The difference between the last two deviations // float td; float out; - if (pid.C1ms < (pid.t)) // The calculation cycle has not yet arrived - { - return; - } - - // if (pid.set_tem > pid.now_tem) + // if (pid.C1ms < (pid.t)) // The calculation cycle has not yet arrived // { - // pid.Ek = pid.set_tem - pid.now_tem; + // return; // } - // else - // { - // pid.Ek = pid.now_tem - pid.set_tem; - // } - // pid.Ek = pid.now_tem - pid.set_tem; + pid.Ek = pid.set_tem - pid.now_tem; pid.Pout = pid.Kp * pid.Ek; // Proportional output pid.SEk += pid.Ek; // Total historical deviation + // SEk limit + if (pid.SEk < - p_base / Ki) { + pid.SEk = - p_base / Ki; + } + + DelEk = pid.Ek - pid.Ek_1; // The difference between the last two deviations // ti=pid.t/pid.Ti; @@ -151,74 +179,16 @@ void PID_Calc() // pid calc pid.C1ms = 0; // heater percent - int heater_percent = calc_p(pid.set_tem, pid.now_tem, pid.SEk, p_base, pid.Kp, pid.Ki); + int heater_percent = calc_hp(pid.set_tem, pid.now_tem, pid.SEk, p_base, Kp, Ki); - // TODO:: temply, set Kd to heater_percent, use for data upload - pid.Kd = heater_percent; - - // speed count - // int speed_count = pid.OUT / 200.0 * (max_speed_count - min_speed_count) + min_speed_count; - // if (speed_count > 6000) { - // speed_count = 6000; - // } - int speed_count = 1500; - - // if (pid.now_tem < pid.set_tem + pid.tem_offset - pid.tem_threshold) - // { - // // Obtain the current deviation value - // // when the target temperature is 1 degree Celsius higher than the actual temperature, heat up - // // close compressor open heater - // /*GPIO1->Alarm bell GPIO3->heater GPIO4->Fresh air fan GPIO5->humidifier GPIO6->compressor */ - // // HC595_Send_Byte(gpio_state &= 0xDF);//close compressor &=1101 1111 0xDF - // HC595_Send_Byte(gpio_state |= 0x04); // open heater |=0000 0100 0x04 - - // speed_count = 1500; - // hot_clod_flag = 2; - // pid.Iout = 0; - // } else if (pid.now_tem > pid.set_tem + pid.tem_offset - pid.tem_threshold && pid.now_tem < pid.set_tem + pid.tem_offset + pid.tem_threshold) - // { - // HC595_Send_Byte(gpio_state &= 0xFB); // close heater &=1111 1011 0xFB - // speed_count = 1000; // close compressor - // hot_clod_flag = 0; - // // pid.Iout=0; - // } else if (pid.now_tem > pid.set_tem + pid.tem_offset + pid.tem_threshold) - // { - // // Obtain the current deviation value - // // when the target temperature is lower than the actual temperature, refrigerate - // // open compressor close heater - // HC595_Send_Byte(gpio_state &= 0xFB); // close heater &=1111 1011 0xFB - - - // // // 0-200 correspond 0-100%, if pid.out=50, percentage means 25% //num=50*400/200=100 100/400=25% - // // num = (((pid.OUT * 400) / pid.pwmcycle) - 1); // Conversion of pid.OUT and PWM Duty Cycle Values - // // TIM_SetCompare3(TIM3, num / 4); - // // printf("%d\r\n",num); - // // HC595_Send_Byte(gpio_state|=0x20);//open compressor |=0010 0000 - // hot_clod_flag = 1; - // // pid.Iout=0; - // } + int p_c = calc_cp(pid.set_tem, pid.now_tem, 32, Kp); + int speed_count = calc_compressor_speed(p_c, 1500, 4500); + // TODO:: temply, set Ki to speed count, Kd to heater_percent, use for data upload + pid.Ki = speed_count; + pid.Kd = heater_percent; set_compressor_power(speed_count); set_heater_power(heater_percent); - // if (hot_clod_flag == 1 && T <= tem - 3) // During the refrigeration process, the actual temperature drops by 0.3 degrees Celsius below the set temperature - // { - // HC595_Send_Byte(gpio_state&=0xDB);// close compressor and heater &=1101 1011 0xDB - // // num = 0; - // // TIM_SetCompare3(TIM3, 0); // close compressor - // speed_count = 1000; - // hot_clod_flag = 0; - // } - - // if (hot_clod_flag == 2 && T >= tem) // while heat, T above tem - // { - // HC595_Send_Byte(gpio_state&=0xDB);//close compressor and heater &=1101 1011 0xDB - // num = 0; - // TIM_SetCompare3(TIM3, 0); // close compressor - // hot_clod_flag = 0; - // } - - - // HC595_Send_Byte(gpio_state&=0xDB);// close compressor and heater &=1101 1011 0xDB } diff --git a/HARDWARE/rs485.c b/HARDWARE/rs485.c index fbcbc52..6962b61 100644 --- a/HARDWARE/rs485.c +++ b/HARDWARE/rs485.c @@ -463,10 +463,10 @@ void RS485_1_Send_Data_2(void) // sendbuf[28] = (int)pid.Kd % 256; // Td 340 // TODO::temp - sendbuf[23] = (int)pid.Ek / 256; // Ek - sendbuf[24] = (int)pid.Ek % 256; - sendbuf[25] = (int)pid.SEk / 256; // SEk - sendbuf[26] = (int)pid.SEk % 256; + sendbuf[23] = (int)pid.SEk / 256; // SEk + sendbuf[24] = (int)pid.SEk % 256; + sendbuf[25] = (int)pid.Ki / 256; // compressor speed + sendbuf[26] = (int)pid.Ki % 256; sendbuf[27] = (int)pid.Kd / 256; // heater percent sendbuf[28] = (int)pid.Kd % 256; @@ -517,7 +517,7 @@ void RS485_1_Send_Data_2(void) /** * sync environment params -*/ +*/ void RS485_1_Send_Data_3(void) { u8 batchbuf[10] = {0xEE, 0xB5, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0xFF, 0xFF}; diff --git a/USER/control.uvguix.Administrator b/USER/control.uvguix.Administrator index 0a8f746..9a64680 100644 --- a/USER/control.uvguix.Administrator +++ b/USER/control.uvguix.Administrator @@ -75,27 +75,27 @@ 44 2 - 2 + 3 - -32000 - -32000 + -1 + -1 -1 -1 - 125 - 170 - 1610 - 878 + 146 + 278 + 1718 + 899 0 - 1327 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A00000001000000010000005E453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C6D796672656572746F735C6D796672656572746F732E63000000000C6D796672656572746F732E6300000000FFDC7800FFFFFFFF52453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C6D61696E2E6300000000066D61696E2E6300000000BECEA100FFFFFFFF55453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C5049442E6300000000055049442E6300000000F0A0A100FFFFFFFF55453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C5049442E6800000000055049442E6800000000BCA8E100FFFFFFFF58453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C52656C6179732E63000000000852656C6179732E63000000009CC1B600FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C73746D3332663130782E68000000000B73746D3332663130782E6800000000F7B88600FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C72733438352E63000000000772733438352E6300000000D9ADC200FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C77726974652E63000000000777726974652E6300000000A5C2D700FFFFFFFF6A453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C53544D3332463130785F46574C69625C7372635C73746D3332663130785F74696D2E63000000000F73746D3332663130785F74696D2E6300000000B3A6BE00FFFFFFFF59453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C573235513132382E630000000009573235513132382E6300000000EAD6A300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F483FFFF4F83FFFF808AFFFF4C86FFFF + 1454 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000B00000000000000010000005E453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C6D796672656572746F735C6D796672656572746F732E63000000000C6D796672656572746F732E6300000000FFDC7800FFFFFFFF52453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C6D61696E2E6300000000066D61696E2E6300000000BECEA100FFFFFFFF55453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C5049442E6300000000055049442E6300000000F0A0A100FFFFFFFF55453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C5049442E6800000000055049442E6800000000BCA8E100FFFFFFFF58453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C52656C6179732E63000000000852656C6179732E63000000009CC1B600FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C73746D3332663130782E68000000000B73746D3332663130782E6800000000F7B88600FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C72733438352E63000000000772733438352E6300000000D9ADC200FFFFFFFF57453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C77726974652E63000000000777726974652E6300000000A5C2D700FFFFFFFF6A453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C53544D3332463130785F46574C69625C7372635C73746D3332663130785F74696D2E63000000000F73746D3332663130785F74696D2E6300000000B3A6BE00FFFFFFFF59453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C48415244574152455C573235513132382E630000000009573235513132382E6300000000EAD6A300FFFFFFFF62453A5CD6C7C4DCC5A9D2B520D6C7C4DCBBB7BEB3C6F8BAF2CFE45CD6C7C4DCC6F8BAF2C5E0D1F8CFE45CD6F7BFD8B0E55CB4FAC2EB5C636F6E74726F6C5F6672656572746F735C555345525C6275696C645C4B65696C5C636F6E74726F6C2E6D6170000000000B636F6E74726F6C2E6D617000000000F6FA7D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000010030000 @@ -118,7 +118,7 @@ 16 - A4000000BB0000006C03000049010000 + F40000006600000090050000F4000000 @@ -134,7 +134,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000ED000000E0020000 16 @@ -154,7 +154,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000ED000000E0020000 16 @@ -174,7 +174,7 @@ 0 16 - 000000002902000090050000B7020000 + 030000002C0200008D0500009E020000 16 @@ -194,7 +194,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -214,7 +214,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -234,7 +234,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -254,7 +254,7 @@ 0 16 - A3040000660000008D050000FF000000 + A3040000660000008D0500000C020000 16 @@ -274,7 +274,7 @@ 0 16 - F40000006300000090050000DD000000 + F7000000660000008D050000C4000000 16 @@ -314,7 +314,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -334,7 +334,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -354,7 +354,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -374,7 +374,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -394,7 +394,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -414,7 +414,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -434,7 +434,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000ED000000E0020000 16 @@ -454,7 +454,7 @@ 0 16 - 0300000066000000ED00000033030000 + 0300000066000000ED000000E0020000 16 @@ -474,7 +474,7 @@ 0 16 - 000000006403000080070000DE030000 + 000000001103000080070000DE030000 16 @@ -514,7 +514,7 @@ 0 16 - 03000000670300008D050000C5030000 + 03000000140300007D070000C5030000 16 @@ -534,7 +534,7 @@ 0 16 - F40000006300000090050000DD000000 + F7000000660000008D050000C4000000 16 @@ -594,7 +594,7 @@ 0 16 - A0040000630000009005000025020000 + A3040000660000008D0500000C020000 16 @@ -614,7 +614,7 @@ 0 16 - 000000002902000090050000A3020000 + 030000002C0200008D0500009E020000 16 @@ -694,7 +694,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -714,7 +714,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -734,7 +734,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -754,7 +754,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -774,7 +774,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -794,7 +794,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -814,7 +814,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -834,7 +834,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -854,7 +854,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -874,7 +874,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -894,7 +894,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -914,7 +914,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -934,7 +934,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -954,7 +954,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -974,7 +974,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -994,7 +994,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1014,7 +1014,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1034,7 +1034,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1054,7 +1054,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1074,7 +1074,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1094,7 +1094,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1114,7 +1114,7 @@ 0 16 - 0300000066000000ED0000009E020000 + 0300000066000000ED000000E0020000 16 @@ -1134,7 +1134,7 @@ 0 16 - 000000006403000090050000DE030000 + 03000000140300007D070000C5030000 16 @@ -1154,7 +1154,7 @@ 0 16 - 03000000670300008D050000C5030000 + 03000000140300007D070000C5030000 16 @@ -1174,7 +1174,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -1194,7 +1194,7 @@ 0 16 - 030000002C0200008D0500008A020000 + 030000002C0200008D0500009E020000 16 @@ -1214,7 +1214,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1234,7 +1234,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1254,7 +1254,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1274,7 +1274,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1294,7 +1294,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1314,7 +1314,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1334,7 +1334,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1354,7 +1354,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1374,7 +1374,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1394,7 +1394,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1414,7 +1414,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1434,7 +1434,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1454,7 +1454,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1474,7 +1474,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1494,7 +1494,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1514,7 +1514,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1534,7 +1534,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1554,7 +1554,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1574,7 +1574,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1594,7 +1594,7 @@ 0 16 - A3040000660000008D0500007A010000 + A3040000660000008D0500000C020000 16 @@ -1608,7 +1608,7 @@ 0 0 0 - 32767 + 940 0 8192 0 @@ -1648,13 +1648,13 @@ 0 0 0 - 32767 + 463 0 8192 1 16 - 000000001C000000DA01000038000000 + 010000001C000000DB01000038000000 16 @@ -1668,7 +1668,7 @@ 0 0 0 - 32767 + 612 0 8192 2 @@ -1683,14 +1683,14 @@ 3119 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000A4000000BB0000006C03000049010000F40000004F00000090050000DD0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A4000000BB0000009401000084010000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000004C030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000A4000000BB0000009401000084010000000000004F000000F00000004C0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000A4000000BB0000009401000084010000000000001502000090050000B702000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004C0300008007000050030000010000000100001004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000A4000000BB0000006C03000049010000000000005003000080070000DE0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F4000000F40000004F00000090050000DD0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000F9020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000010030000000000004F000000F0000000F90200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002C02000090050000CE020000000000001502000090050000B702000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000F902000080070000FD0200000100000001000010040000000100000008FDFFFF8C000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000001403000080070000F503000000000000FD02000080070000DE0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File 2021 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000773656E64627566960000000000000001000773656E6462756600000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000000180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000773656E64627566960000000000000001000773656E6462756600000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 1423 @@ -1705,8 +1705,8 @@ 59399 Build - 668 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000034C454496000000000000000100034C4544000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + 676 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000007636F6E74726F6C9600000000000000010007636F6E74726F6C000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 583 @@ -1722,7 +1722,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1746,36 +1746,36 @@ 0 100 - 1 + 0 - ..\myfreertos\myfreertos.c - 0 - 213 - 214 + ../myfreertos/myfreertos.c + 22 + 198 + 209 1 0 - .\main.c - 6 + main.c + 13 1 - 1 + 15 1 0 - ..\HARDWARE\PID.c - 24 - 28 - 49 + ../HARDWARE/PID.c + 3 + 143 + 168 1 0 - ..\HARDWARE\PID.h + ../HARDWARE/PID.h 7 5 17 @@ -1784,7 +1784,7 @@ 0 - ..\HARDWARE\Relays.c + ../HARDWARE/Relays.c 0 52 62 @@ -1793,7 +1793,7 @@ 0 - ..\USER\stm32f10x.h + stm32f10x.h 55 1373 1381 @@ -1802,16 +1802,16 @@ 0 - ..\HARDWARE\rs485.c + ../HARDWARE/rs485.c 20 - 379 + 381 405 1 0 - ..\HARDWARE\write.c + ../HARDWARE/write.c 0 1 1 @@ -1820,7 +1820,7 @@ 0 - ..\STM32F10x_FWLib\src\stm32f10x_tim.c + ../STM32F10x_FWLib/src/stm32f10x_tim.c 42 2313 2323 @@ -1829,7 +1829,7 @@ 0 - ..\HARDWARE\W25Q128.c + ../HARDWARE/W25Q128.c 92 8 18 @@ -1837,6 +1837,15 @@ 0 + + E:\鏅鸿兘鍐滀笟 鏅鸿兘鐜姘斿欑\鏅鸿兘姘斿欏煿鍏荤\涓绘帶鏉縗浠g爜\control_freertos\USER\build\Keil\control.map + 88 + 1 + 9 + 1 + + 0 + diff --git a/USER/control.uvoptx b/USER/control.uvoptx index 6b97b4f..3949b68 100644 --- a/USER/control.uvoptx +++ b/USER/control.uvoptx @@ -22,7 +22,7 @@ - LED + control 0x4 ARM-ADS @@ -45,7 +45,7 @@ 79 66 8 - .\Listings\ + .\build\Keil\ 1 @@ -115,110 +115,25 @@ STLink\ST-LINKIII-KEIL_SWO.dll - - 0 - ST-LINKIII-KEIL_SWO - -U16004A002933353739303541 -O206 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) - 0 UL2CM3 - UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32F10x_128 -FL020000 -FS08000000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) - - - 0 - ARMRTXEVENTFLAGS - -L70 -Z18 -C0 -M0 -T1 - - - 0 - DLGTARM - (1010=75,104,525,661,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=1088,69,1346,657,0) - - - 0 - ARMDBGFLAGS - - - - 0 - DLGUARM - (105=-1,-1,-1,-1,0) + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM)) - - - 0 - 0 - 0 - 1 -
196606
- 0 - 0 - 0 - 0 - 0 - 1 - - - 0x0002FFFE -
- - 1 - 0 - 1 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - .\main.c - - -
-
- - - 0 - 1 - HardFault_Handler - - - 1 - 1 - HardFault_Handler - - - - - 0 - 2 - HardFault_Handler - - - - - 1 - 0 - 0x200032E0 - 0 - - + 0 0 0 - 1 + 0 0 0 0 0 - 1 + 0 0 0 0 @@ -255,7 +170,7 @@
- USER + myfreertos 0 0 0 @@ -267,43 +182,43 @@ 0 0 0 - .\main.c - main.c + ../myfreertos/myfreertos.c + myfreertos.c 0 0 1 2 - 1 + 5 0 0 0 - .\stm32f10x_it.c - stm32f10x_it.c + ../myfreertos/myfreertos.h + myfreertos.h 0 0 + + + + FreeRTOS_port + 0 + 0 + 0 + 0 - 1 + 2 3 1 0 0 0 - .\system_stm32f10x.c - system_stm32f10x.c + ../FreeRTOS/portable/RVDS/ARM_CM3/port.c + port.c 0 0 - - - - HARDWARE - 1 - 0 - 0 - 0 2 4 @@ -311,419 +226,419 @@ 0 0 0 - ..\HARDWARE\PWM.c - PWM.c + ../FreeRTOS/portable/MemMang/heap_4.c + heap_4.c 0 0 + + + + FreeRTOS_core + 0 + 0 + 0 + 0 - 2 + 3 5 - 5 + 1 0 0 0 - ..\HARDWARE\PWM.h - PWM.h + ../FreeRTOS/croutine.c + croutine.c 0 0 - 2 + 3 6 1 0 0 0 - ..\HARDWARE\MYSPI.c - MYSPI.c + ../FreeRTOS/event_groups.c + event_groups.c 0 0 - 2 + 3 7 - 5 + 1 0 0 0 - ..\HARDWARE\MYSPI.h - MYSPI.h + ../FreeRTOS/list.c + list.c 0 0 - 2 + 3 8 1 0 0 0 - ..\HARDWARE\W25Q128.c - W25Q128.c + ../FreeRTOS/tasks.c + tasks.c 0 0 - 2 + 3 9 - 5 + 1 0 0 0 - ..\HARDWARE\W25Q128_Ins.h - W25Q128_Ins.h + ../FreeRTOS/timers.c + timers.c 0 0 - 2 + 3 10 - 1 + 5 0 0 0 - ..\HARDWARE\Relays.c - Relays.c + ../../../stm32-control _lianwang/control/FreeRTOS/include/croutine.h + croutine.h 0 0 - 2 + 3 11 5 0 0 0 - ..\HARDWARE\Relays.h - Relays.h + ../../../stm32-control _lianwang/control/FreeRTOS/include/deprecated_definitions.h + deprecated_definitions.h 0 0 - 2 + 3 12 - 1 + 5 0 0 0 - ..\HARDWARE\write.c - write.c + ../../../stm32-control _lianwang/control/FreeRTOS/include/event_groups.h + event_groups.h 0 0 - 2 + 3 13 5 0 0 0 - ..\HARDWARE\write.h - write.h + ../../../stm32-control _lianwang/control/FreeRTOS/include/FreeRTOS.h + FreeRTOS.h 0 0 - 2 + 3 14 - 1 + 5 0 0 0 - ..\HARDWARE\OSC.c - OSC.c + ../../../stm32-control _lianwang/control/FreeRTOS/include/FreeRTOSConfig.h + FreeRTOSConfig.h 0 0 - 2 + 3 15 5 0 0 0 - ..\HARDWARE\OSC.h - OSC.h + ../../../stm32-control _lianwang/control/FreeRTOS/include/list.h + list.h 0 0 - 2 + 3 16 - 1 + 5 0 0 0 - ..\HARDWARE\rs485.c - rs485.c + ../../../stm32-control _lianwang/control/FreeRTOS/include/mpu_prototypes.h + mpu_prototypes.h 0 0 - 2 + 3 17 5 0 0 0 - ..\HARDWARE\rs485.h - rs485.h + ../../../stm32-control _lianwang/control/FreeRTOS/include/mpu_wrappers.h + mpu_wrappers.h 0 0 - 2 + 3 18 - 1 + 5 0 0 0 - ..\HARDWARE\rtc.c - rtc.c + ../../../stm32-control _lianwang/control/FreeRTOS/include/portable.h + portable.h 0 0 - 2 + 3 19 5 0 0 0 - ..\HARDWARE\rtc.h - rtc.h + ../../../stm32-control _lianwang/control/FreeRTOS/include/projdefs.h + projdefs.h 0 0 - 2 + 3 20 - 1 + 5 0 0 0 - ..\HARDWARE\bufcut.c - bufcut.c + ../../../stm32-control _lianwang/control/FreeRTOS/include/queue.h + queue.h 0 0 - 2 + 3 21 5 0 0 0 - ..\HARDWARE\bufcut.h - bufcut.h + ../../../stm32-control _lianwang/control/FreeRTOS/include/StackMacros.h + StackMacros.h 0 0 - 2 + 3 22 - 1 + 5 0 0 0 - ..\HARDWARE\iwdg.c - iwdg.c + ../../../stm32-control _lianwang/control/FreeRTOS/include/task.h + task.h 0 0 - 2 + 3 23 5 0 0 0 - ..\HARDWARE\iwdg.h - iwdg.h + ../../../stm32-control _lianwang/control/FreeRTOS/include/timers.h + timers.h 0 0 - 2 + 3 24 - 1 + 5 0 0 0 - ..\HARDWARE\PID.c - PID.c + ../../../stm32-control _lianwang/control/FreeRTOS/include/semphr.h + semphr.h 0 0 - 2 + 3 25 - 5 + 1 0 0 0 - ..\HARDWARE\PID.h - PID.h + ../../../stm32-control _lianwang/control/FreeRTOS/queue.c + queue.c 0 0 + + + + MD5 + 0 + 0 + 0 + 0 - 2 + 4 26 1 0 0 0 - ..\HARDWARE\PWMOUT.c - PWMOUT.c + ../md5/md5.c + md5.c 0 0 + + + + MQTT + 0 + 0 + 0 + 0 - 2 + 5 27 - 5 + 1 0 0 0 - ..\HARDWARE\PWMOUT.h - PWMOUT.h + ../MQTT/lib/cJSON.c + cJSON.c 0 0 - - - - SYSTEM - 1 - 0 - 0 - 0 - 3 + 5 28 1 0 0 0 - ..\SYSTEM\system.c - system.c + ../MQTT/lib/MQTTConnectClient.c + MQTTConnectClient.c 0 0 - 3 + 5 29 - 5 + 1 0 0 0 - ..\SYSTEM\system.h - system.h + ../MQTT/lib/MQTTConnectServer.c + MQTTConnectServer.c 0 0 - 3 + 5 30 1 0 0 0 - ..\SYSTEM\SysTick.c - SysTick.c + ../MQTT/lib/MQTTDeserializePublish.c + MQTTDeserializePublish.c 0 0 - 3 + 5 31 - 5 + 1 0 0 0 - ..\SYSTEM\SysTick.h - SysTick.h + ../MQTT/lib/MQTTFormat.c + MQTTFormat.c 0 0 - 3 + 5 32 1 0 0 0 - ..\SYSTEM\USART.c - USART.c + ../MQTT/lib/MQTTPacket.c + MQTTPacket.c 0 0 - 3 + 5 33 - 5 + 1 0 0 0 - ..\SYSTEM\USART.h - USART.h + ../MQTT/lib/MQTTSerializePublish.c + MQTTSerializePublish.c 0 0 - - - - CORE - 0 - 0 - 0 - 0 - 4 + 5 34 1 0 0 0 - ..\CORE\core_cm3.c - core_cm3.c + ../MQTT/lib/MQTTSubscribeClient.c + MQTTSubscribeClient.c 0 0 - 4 + 5 35 - 5 + 1 0 0 0 - ..\CORE\core_cm3.h - core_cm3.h + ../MQTT/lib/MQTTSubscribeServer.c + MQTTSubscribeServer.c 0 0 - 4 + 5 36 - 2 + 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\CORE\startup_stm32f10x_md.s - startup_stm32f10x_md.s + ../MQTT/lib/MQTTUnsubscribeClient.c + MQTTUnsubscribeClient.c 0 0 - - - - FWLIB - 0 - 0 - 0 - 0 5 37 @@ -731,8 +646,8 @@ 0 0 0 - ..\STM32F10x_FWLib\src\misc.c - misc.c + ../MQTT/lib/MQTTUnsubscribeServer.c + MQTTUnsubscribeServer.c 0 0 @@ -743,1119 +658,1119 @@ 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_gpio.c - stm32f10x_gpio.c + ../MQTT/mqtt_api.c + mqtt_api.c 0 0 + + + + DHCP + 0 + 0 + 0 + 0 - 5 + 6 39 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_dbgmcu.c - stm32f10x_dbgmcu.c + ../dhcp/dhcp.c + dhcp.c 0 0 + + + + DNS + 1 + 0 + 0 + 0 - 5 + 7 40 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_rcc.c - stm32f10x_rcc.c + ../dns/dns.c + dns.c 0 0 + + + + W5500 + 0 + 0 + 0 + 0 - 5 + 8 41 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_usart.c - stm32f10x_usart.c + ../w5500/socket.c + socket.c 0 0 - 5 + 8 42 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_adc.c - stm32f10x_adc.c + ../w5500/spi.c + spi.c 0 0 - 5 + 8 43 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_bkp.c - stm32f10x_bkp.c + ../w5500/utility.c + utility.c 0 0 - 5 + 8 44 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_can.c - stm32f10x_can.c + ../w5500/w5500.c + w5500.c 0 0 - 5 + 8 45 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_cec.c - stm32f10x_cec.c + ../w5500/w5500api.c + w5500api.c 0 0 + + + + FWLIB + 0 + 0 + 0 + 0 - 5 + 9 46 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_crc.c - stm32f10x_crc.c + ../STM32F10x_FWLib/src/misc.c + misc.c 0 0 - 5 + 9 47 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_dac.c - stm32f10x_dac.c + ../STM32F10x_FWLib/src/stm32f10x_gpio.c + stm32f10x_gpio.c 0 0 - 5 + 9 48 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_dma.c - stm32f10x_dma.c + ../STM32F10x_FWLib/src/stm32f10x_dbgmcu.c + stm32f10x_dbgmcu.c 0 0 - 5 + 9 49 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_exti.c - stm32f10x_exti.c + ../STM32F10x_FWLib/src/stm32f10x_rcc.c + stm32f10x_rcc.c 0 0 - 5 + 9 50 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_flash.c - stm32f10x_flash.c + ../STM32F10x_FWLib/src/stm32f10x_usart.c + stm32f10x_usart.c 0 0 - 5 + 9 51 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_fsmc.c - stm32f10x_fsmc.c + ../STM32F10x_FWLib/src/stm32f10x_adc.c + stm32f10x_adc.c 0 0 - 5 + 9 52 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_i2c.c - stm32f10x_i2c.c + ../STM32F10x_FWLib/src/stm32f10x_bkp.c + stm32f10x_bkp.c 0 0 - 5 + 9 53 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_iwdg.c - stm32f10x_iwdg.c + ../STM32F10x_FWLib/src/stm32f10x_can.c + stm32f10x_can.c 0 0 - 5 + 9 54 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_pwr.c - stm32f10x_pwr.c + ../STM32F10x_FWLib/src/stm32f10x_cec.c + stm32f10x_cec.c 0 0 - 5 + 9 55 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_rtc.c - stm32f10x_rtc.c + ../STM32F10x_FWLib/src/stm32f10x_crc.c + stm32f10x_crc.c 0 0 - 5 + 9 56 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_sdio.c - stm32f10x_sdio.c + ../STM32F10x_FWLib/src/stm32f10x_dac.c + stm32f10x_dac.c 0 0 - 5 + 9 57 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_spi.c - stm32f10x_spi.c + ../STM32F10x_FWLib/src/stm32f10x_dma.c + stm32f10x_dma.c 0 0 - 5 + 9 58 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_tim.c - stm32f10x_tim.c + ../STM32F10x_FWLib/src/stm32f10x_exti.c + stm32f10x_exti.c 0 0 - 5 + 9 59 1 0 0 0 - ..\STM32F10x_FWLib\src\stm32f10x_wwdg.c - stm32f10x_wwdg.c + ../STM32F10x_FWLib/src/stm32f10x_flash.c + stm32f10x_flash.c 0 0 - 5 + 9 60 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\misc.h - misc.h + ../STM32F10x_FWLib/src/stm32f10x_fsmc.c + stm32f10x_fsmc.c 0 0 - 5 + 9 61 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_adc.h - stm32f10x_adc.h + ../STM32F10x_FWLib/src/stm32f10x_i2c.c + stm32f10x_i2c.c 0 0 - 5 + 9 62 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_bkp.h - stm32f10x_bkp.h + ../STM32F10x_FWLib/src/stm32f10x_iwdg.c + stm32f10x_iwdg.c 0 0 - 5 + 9 63 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_can.h - stm32f10x_can.h + ../STM32F10x_FWLib/src/stm32f10x_pwr.c + stm32f10x_pwr.c 0 0 - 5 + 9 64 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_cec.h - stm32f10x_cec.h + ../STM32F10x_FWLib/src/stm32f10x_rtc.c + stm32f10x_rtc.c 0 0 - 5 + 9 65 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_crc.h - stm32f10x_crc.h + ../STM32F10x_FWLib/src/stm32f10x_sdio.c + stm32f10x_sdio.c 0 0 - 5 + 9 66 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_dac.h - stm32f10x_dac.h + ../STM32F10x_FWLib/src/stm32f10x_spi.c + stm32f10x_spi.c 0 0 - 5 + 9 67 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_dbgmcu.h - stm32f10x_dbgmcu.h + ../STM32F10x_FWLib/src/stm32f10x_tim.c + stm32f10x_tim.c 0 0 - 5 + 9 68 - 5 + 1 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_dma.h - stm32f10x_dma.h + ../STM32F10x_FWLib/src/stm32f10x_wwdg.c + stm32f10x_wwdg.c 0 0 - 5 + 9 69 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_exti.h - stm32f10x_exti.h + ../STM32F10x_FWLib/inc/misc.h + misc.h 0 0 - 5 + 9 70 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_flash.h - stm32f10x_flash.h + ../STM32F10x_FWLib/inc/stm32f10x_adc.h + stm32f10x_adc.h 0 0 - 5 + 9 71 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_fsmc.h - stm32f10x_fsmc.h + ../STM32F10x_FWLib/inc/stm32f10x_bkp.h + stm32f10x_bkp.h 0 0 - 5 + 9 72 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_gpio.h - stm32f10x_gpio.h + ../STM32F10x_FWLib/inc/stm32f10x_can.h + stm32f10x_can.h 0 0 - 5 + 9 73 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_i2c.h - stm32f10x_i2c.h + ../STM32F10x_FWLib/inc/stm32f10x_cec.h + stm32f10x_cec.h 0 0 - 5 + 9 74 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_iwdg.h - stm32f10x_iwdg.h + ../STM32F10x_FWLib/inc/stm32f10x_crc.h + stm32f10x_crc.h 0 0 - 5 + 9 75 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_pwr.h - stm32f10x_pwr.h + ../STM32F10x_FWLib/inc/stm32f10x_dac.h + stm32f10x_dac.h 0 0 - 5 + 9 76 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_rcc.h - stm32f10x_rcc.h + ../STM32F10x_FWLib/inc/stm32f10x_dbgmcu.h + stm32f10x_dbgmcu.h 0 0 - 5 + 9 77 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_rtc.h - stm32f10x_rtc.h + ../STM32F10x_FWLib/inc/stm32f10x_dma.h + stm32f10x_dma.h 0 0 - 5 + 9 78 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_sdio.h - stm32f10x_sdio.h + ../STM32F10x_FWLib/inc/stm32f10x_exti.h + stm32f10x_exti.h 0 0 - 5 + 9 79 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_spi.h - stm32f10x_spi.h + ../STM32F10x_FWLib/inc/stm32f10x_flash.h + stm32f10x_flash.h 0 0 - 5 + 9 80 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_tim.h - stm32f10x_tim.h + ../STM32F10x_FWLib/inc/stm32f10x_fsmc.h + stm32f10x_fsmc.h 0 0 - 5 + 9 81 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_usart.h - stm32f10x_usart.h + ../STM32F10x_FWLib/inc/stm32f10x_gpio.h + stm32f10x_gpio.h 0 0 - 5 + 9 82 5 0 0 0 - ..\STM32F10x_FWLib\inc\stm32f10x_wwdg.h - stm32f10x_wwdg.h + ../STM32F10x_FWLib/inc/stm32f10x_i2c.h + stm32f10x_i2c.h 0 0 - - - - W5500 - 1 - 0 - 0 - 0 - 6 + 9 83 - 1 + 5 0 0 0 - ..\w5500\socket.c - socket.c + ../STM32F10x_FWLib/inc/stm32f10x_iwdg.h + stm32f10x_iwdg.h 0 0 - 6 + 9 84 - 1 + 5 0 0 0 - ..\w5500\spi.c - spi.c + ../STM32F10x_FWLib/inc/stm32f10x_pwr.h + stm32f10x_pwr.h 0 0 - 6 + 9 85 - 1 + 5 0 0 0 - ..\w5500\utility.c - utility.c + ../STM32F10x_FWLib/inc/stm32f10x_rcc.h + stm32f10x_rcc.h 0 0 - 6 + 9 86 - 1 + 5 0 0 0 - ..\w5500\w5500.c - w5500.c + ../STM32F10x_FWLib/inc/stm32f10x_rtc.h + stm32f10x_rtc.h 0 0 - 6 + 9 87 - 1 + 5 0 0 0 - ..\w5500\w5500api.c - w5500api.c + ../STM32F10x_FWLib/inc/stm32f10x_sdio.h + stm32f10x_sdio.h 0 0 - - - - DNS - 1 - 0 - 0 - 0 - 7 + 9 88 - 1 + 5 0 0 0 - ..\dns\dns.c - dns.c + ../STM32F10x_FWLib/inc/stm32f10x_spi.h + stm32f10x_spi.h 0 0 - - - - DHCP - 1 - 0 - 0 - 0 - 8 + 9 89 - 1 + 5 0 0 0 - ..\dhcp\dhcp.c - dhcp.c + ../STM32F10x_FWLib/inc/stm32f10x_tim.h + stm32f10x_tim.h 0 0 - - - - MQTT - 1 - 0 - 0 - 0 9 90 - 1 + 5 0 0 0 - ..\MQTT\lib\cJSON.c - cJSON.c + ../STM32F10x_FWLib/inc/stm32f10x_usart.h + stm32f10x_usart.h 0 0 9 91 - 1 + 5 0 0 0 - ..\MQTT\lib\MQTTConnectClient.c - MQTTConnectClient.c + ../STM32F10x_FWLib/inc/stm32f10x_wwdg.h + stm32f10x_wwdg.h 0 0 + + + + CORE + 0 + 0 + 0 + 0 - 9 + 10 92 1 0 0 0 - ..\MQTT\lib\MQTTConnectServer.c - MQTTConnectServer.c + ../CORE/core_cm3.c + core_cm3.c 0 0 - 9 + 10 93 - 1 + 5 0 0 0 - ..\MQTT\lib\MQTTDeserializePublish.c - MQTTDeserializePublish.c + ../CORE/core_cm3.h + core_cm3.h 0 0 - 9 + 10 94 - 1 + 2 0 0 0 - ..\MQTT\lib\MQTTFormat.c - MQTTFormat.c + ../../../stm32-control _lianwang/control/CORE/startup_stm32f10x_md.s + startup_stm32f10x_md.s 0 0 + + + + SYSTEM + 0 + 0 + 0 + 0 - 9 + 11 95 1 0 0 0 - ..\MQTT\lib\MQTTPacket.c - MQTTPacket.c + ../SYSTEM/system.c + system.c 0 0 - 9 + 11 96 - 1 + 5 0 0 0 - ..\MQTT\lib\MQTTSerializePublish.c - MQTTSerializePublish.c + ../SYSTEM/system.h + system.h 0 0 - 9 + 11 97 1 0 0 0 - ..\MQTT\lib\MQTTSubscribeClient.c - MQTTSubscribeClient.c + ../SYSTEM/SysTick.c + SysTick.c 0 0 - 9 + 11 98 - 1 + 5 0 0 0 - ..\MQTT\lib\MQTTSubscribeServer.c - MQTTSubscribeServer.c + ../SYSTEM/SysTick.h + SysTick.h 0 0 - 9 + 11 99 1 0 0 0 - ..\MQTT\lib\MQTTUnsubscribeClient.c - MQTTUnsubscribeClient.c + ../SYSTEM/USART.c + USART.c 0 0 - 9 + 11 100 - 1 + 5 0 0 0 - ..\MQTT\lib\MQTTUnsubscribeServer.c - MQTTUnsubscribeServer.c + ../SYSTEM/USART.h + USART.h 0 0 + + + + HARDWARE + 0 + 0 + 0 + 0 - 9 + 12 101 1 0 0 0 - ..\MQTT\mqtt_api.c - mqtt_api.c + ../HARDWARE/PWM.c + PWM.c 0 0 - - - - MD5 - 1 - 0 - 0 - 0 - 10 + 12 102 - 1 + 5 0 0 0 - ..\md5\md5.c - md5.c + ../HARDWARE/PWM.h + PWM.h 0 0 - - - - FreeRTOS_core - 0 - 0 - 0 - 0 - 11 + 12 103 1 0 0 0 - ..\FreeRTOS\croutine.c - croutine.c + ../HARDWARE/MYSPI.c + MYSPI.c 0 0 - 11 + 12 104 - 1 + 5 0 0 0 - ..\FreeRTOS\event_groups.c - event_groups.c + ../HARDWARE/MYSPI.h + MYSPI.h 0 0 - 11 + 12 105 1 0 0 0 - ..\FreeRTOS\list.c - list.c + ../HARDWARE/W25Q128.c + W25Q128.c 0 0 - 11 + 12 106 - 1 + 5 0 0 0 - ..\FreeRTOS\tasks.c - tasks.c + ../HARDWARE/W25Q128_Ins.h + W25Q128_Ins.h 0 0 - 11 + 12 107 1 0 0 0 - ..\FreeRTOS\timers.c - timers.c + ../HARDWARE/Relays.c + Relays.c 0 0 - 11 + 12 108 5 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\croutine.h - croutine.h + ../HARDWARE/Relays.h + Relays.h 0 0 - 11 + 12 109 - 5 + 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\deprecated_definitions.h - deprecated_definitions.h + ../HARDWARE/write.c + write.c 0 0 - 11 + 12 110 5 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\event_groups.h - event_groups.h + ../HARDWARE/write.h + write.h 0 0 - 11 + 12 111 - 5 + 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\FreeRTOS.h - FreeRTOS.h + ../HARDWARE/OSC.c + OSC.c 0 0 - 11 + 12 112 5 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\FreeRTOSConfig.h - FreeRTOSConfig.h + ../HARDWARE/OSC.h + OSC.h 0 0 - 11 + 12 113 - 5 + 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\list.h - list.h + ../HARDWARE/rs485.c + rs485.c 0 0 - 11 + 12 114 5 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\mpu_prototypes.h - mpu_prototypes.h + ../HARDWARE/rs485.h + rs485.h 0 0 - 11 + 12 115 - 5 + 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\mpu_wrappers.h - mpu_wrappers.h + ../HARDWARE/rtc.c + rtc.c 0 0 - 11 + 12 116 5 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\portable.h - portable.h + ../HARDWARE/rtc.h + rtc.h 0 0 - 11 + 12 117 - 5 + 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\projdefs.h - projdefs.h + ../HARDWARE/bufcut.c + bufcut.c 0 0 - 11 + 12 118 5 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\queue.h - queue.h + ../HARDWARE/bufcut.h + bufcut.h 0 0 - 11 + 12 119 - 5 + 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\StackMacros.h - StackMacros.h + ../HARDWARE/iwdg.c + iwdg.c 0 0 - 11 + 12 120 5 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\task.h - task.h + ../HARDWARE/iwdg.h + iwdg.h 0 0 - 11 + 12 121 - 5 + 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\timers.h - timers.h + ../HARDWARE/PID.c + PID.c 0 0 - 11 + 12 122 5 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\include\semphr.h - semphr.h + ../HARDWARE/PID.h + PID.h 0 0 - 11 + 12 123 1 0 0 0 - ..\..\..\stm32-control _lianwang\control\FreeRTOS\queue.c - queue.c + ../HARDWARE/PWMOUT.c + PWMOUT.c 0 0 - - - - FreeRTOS_port - 0 - 0 - 0 - 0 12 124 - 1 + 5 0 0 0 - ..\FreeRTOS\portable\RVDS\ARM_CM3\port.c - port.c + ../HARDWARE/PWMOUT.h + PWMOUT.h 0 0 + + + + USER + 0 + 0 + 0 + 0 - 12 + 13 125 1 0 0 0 - ..\FreeRTOS\portable\MemMang\heap_4.c - heap_4.c + main.c + main.c 0 0 - - - - myfreertos - 0 - 0 - 0 - 0 13 126 @@ -1863,20 +1778,20 @@ 0 0 0 - ..\myfreertos\myfreertos.c - myfreertos.c + stm32f10x_it.c + stm32f10x_it.c 0 0 13 127 - 5 + 1 0 0 0 - ..\myfreertos\myfreertos.h - myfreertos.h + system_stm32f10x.c + system_stm32f10x.c 0 0 diff --git a/USER/control.uvprojx b/USER/control.uvprojx index 20051fc..22db6b3 100644 --- a/USER/control.uvprojx +++ b/USER/control.uvprojx @@ -1,7 +1,10 @@ - + + 2.1 +
### uVision Project, (C) Keil Software
+ control @@ -10,33 +13,33 @@ 5060422::V5.06 update 4 (build 422)::ARMCC - - + STM32F103C8 + STMicroelectronics Keil.STM32F1xx_DFP.2.3.0 http://www.keil.com/pack/ - IRAM(0x20000000,0x00005000) IROM(0x08000000,0x00010000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE - - + IRAM(0x20000000,0x00005000) IROM(0x08000000,0x00010000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE + + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM)) 0 $$Device:STM32F103C8$Device\Include\stm32f10x.h - - - - - - - - - + + + + + + + + + $$Device:STM32F103C8$SVD\STM32F103xx.svd 0 0 - - - - - + + + + + 0 0 @@ -58,8 +61,8 @@ 0 0 - - + + 0 0 0 @@ -68,8 +71,8 @@ 0 0 - - + + 0 0 0 @@ -86,7 +89,7 @@ 0 0 - + 0 @@ -100,17 +103,17 @@ 0 0 3 - - + + 1 SARMCM3.DLL - -REMAP + -REMAP DCM.DLL -pCM3 SARMCM3.DLL - + TCM.DLL -pCM3 @@ -134,11 +137,11 @@ 1 BIN\UL2CM3.DLL - - - - - + "" () + + + + 0 @@ -170,8 +173,8 @@ 1 0 0 - "Cortex-M3" - + "Cortex-M3" + 0 0 0 @@ -179,7 +182,7 @@ 1 0 0 - 1 + 0 0 0 8 @@ -303,7 +306,7 @@ 0x0 - + 1 @@ -329,9 +332,9 @@ 0 0 - + STM32F10X_MD,USE_STDPERIPH_DRIVER - + .;..\CORE;..\STM32F10x_FWLib\inc;..\HARDWARE;..\SYSTEM;..\dhcp;..\dns;..\md5;..\MQTT;..\MQTT\lib;..\w5500;..\FreeRTOS\include;..\FreeRTOS\portable\RVDS\ARM_CM3;..\myfreertos;RTE\_LED @@ -347,10 +350,10 @@ 0 0 - + STM32F10X_MD,USE_STDPERIPH_DRIVER - - + + @@ -362,13 +365,13 @@ 0 0x08000000 0x20000000 - + ../OBJ/LED.sct - - - - - + + + + + @@ -1076,9 +1079,11 @@ + -
\ No newline at end of file + + diff --git a/myfreertos/myfreertos.c b/myfreertos/myfreertos.c index a299a9a..23ebafd 100644 --- a/myfreertos/myfreertos.c +++ b/myfreertos/myfreertos.c @@ -202,10 +202,12 @@ void SyncEnvironmentDataRequestTask(void *pvParameters) { int hot = 0; /** - * 20%的情况下,加热1min,然后冷却10分钟 + * pid计算,每5秒一次 */ void HotTestRequestTask(void *pvParameters) { while (1) { + + PID_Calc(); // if (T >= 350) { // hot = 0; // hot_clod_flag = 0; @@ -225,11 +227,11 @@ void HotTestRequestTask(void *pvParameters) { // GetCRC16(temp_data, 6, temp_data + 6, temp_data + 7); - // // RS485_3_Init(9600); - // RS485_1_Send_Data(temp_data, 8); + // RS485_3_Init(9600); + // RS485_3_Send_Data(temp_data, 8); // // RS485_1_Send_Data(temp_data, 8); // delay_xms(30); - // // RS485_1_Init(9600); + // RS485_1_Init(9600); // HC595_Send_Byte(gpio_state |= 0x04); // open heater |=0000 0100 0x04 @@ -252,7 +254,7 @@ void HotTestRequestTask(void *pvParameters) { // // HC595_Send_Byte(gpio_state &= 0xFB); // close heater &=1111 1011 0xFB // hot_clod_flag = 0; - vTaskDelay(1000 * 10); + vTaskDelay(5000); } } @@ -264,6 +266,17 @@ void Sensor_Communication_task(void *pvParameters) while (1) { + // RS485_3_Init(9600); + // // temp[2] = (int)pid.Ki / 256; + // // temp[3] = (int)pid.Ki % 256; + // temp[2] = 4800 / 256; + // temp[3] = 4800 % 256; + // RS485_3_Send_Data(temp, 4); + // // RS485_1_Send_Data(temp_data, 8); + // delay_xms(30); + // RS485_1_Init(9600); + // RS485_1_Send_Data(temp, 4); + // HC595_Send_Byte(0x00); // cnt_flag=do_mqtt(MQTT_SOCK,NET_CONFIG.rip,1883,5500); // Humidity=H*0.1; @@ -479,21 +492,28 @@ void process_sensor_data(u8 *data) { gpio_state &= 0xFE; ALARM = 0; } - if (T < 600 && T > -400) - { - diff = current_T - T; - if (diff < 0) - diff = -diff; - if (diff < 100 || current_T == 0) // 最近两次温差相差10℃,消除传感器感应出错的影响 - { - pid.set_tem = tem / 10.0; - pid.now_tem = T / 10.0; - PID_Calc(); - // send sign to 485 - // out: 0-200 - current_T = T; - } - } + // if (T < 800 && T > -400) + // { + // diff = current_T - T; + // if (diff < 0) + // diff = -diff; + // // if (diff < 100 || current_T == 0) // 最近两次温差相差10℃,消除传感器感应出错的影响 + // // { + // pid.set_tem = tem / 10.0; + // pid.now_tem = T / 10.0; + // PID_Calc(); + // // send sign to 485 + // // out: 0-200 + // current_T = T; + // // } + // } + + pid.set_tem = tem / 10.0; + pid.now_tem = T / 10.0; + // PID_Calc(); + // send sign to 485 + // out: 0-200 + current_T = T; if (H > (hum + 50)) // 湿度高于设定值5,打开新风风扇 GPIO4->PD1 {