第一次提交计算机温控

This commit is contained in:
2025-10-21 21:25:35 +08:00
commit 224cea156b
55 changed files with 33081 additions and 0 deletions

177
user.H Normal file
View File

@@ -0,0 +1,177 @@
#ifndef _user_H_
#define _user_H_
#define DF_SwTx 6
#define DF_SwRx 7
#define DF_RXTIME 11
#define DF_SwTxKGF1 8
#define DF_SwTxKGF2 10
#define DF_SwTxTemp 12
#define DF_SwRxPwm 8
#define dfCmd_01 UnInfCan_1.BitData.D21 //KGF1
#define dfCmd_02 UnInfCan_1.BitData.D22 //KGF2
#define dfCmd_03 UnInfCan_1.BitData.D23 //KGF3
#define dfCmd_04 UnInfCan_1.BitData.D24 //KGF4
#define dfCmd_05 UnInfCan_1.BitData.D25 //KGF5
#define dfCmd_06 UnInfCan_1.BitData.D26 //KGF6
#define dfCmd_07 UnInfCan_1.BitData.D27 //KGF7
#define dfCmd_08 UnInfCan_1.BitData.D28 //KGF8
#define dfCmd_09 UnInfCan_1.BitData.D29 //KGF9
#define dfCmd_10 UnInfCan_1.BitData.D30 //KGF10
#define dfCmd_11 UnInfCan_1.BitData.D31 //KGF11
#define dfCmd_12 UnInfCan_1.BitData.D32 //KGF12
#define dfCmd_13 UnInfCan_1.BitData.D33 //KGF13
#define dfCmd_14 UnInfCan_1.BitData.D34 //KGF14
#define dfCmd_15 UnInfCan_1.BitData.D35 //KGF15
#define dfCmd_16 UnInfCan_1.BitData.D36 //KGF16
#define dfOut_01 SwOut09 //KGF1
#define dfOut_02 SwOut10 //KGF2
#define dfOut_03 SwOut04 //KGF3
#define dfOut_04 SwOut03 //KGF4
#define dfOut_05 SwOut06 //KGF5
#define dfOut_06 SwOut05 //KGF6
#define dfOut_07 SwOut15 //KGF7
#define dfOut_08 SwOut16 //KGF8
#define dfOut_09 SwOut13 //KGF9
#define dfOut_10 SwOut14 //KGF10
#define dfOut_11 SwOut08 //KGF11
#define dfOut_12 SwOut07 //KGF12
#define dfOut_13 SwOut02 //KGF13
#define dfOut_14 SwOut01 //KGF14
#define dfOut_15 SwOut11 //KGF15
#define dfOut_16 SwOut12 //KGF16
#define dfPwmH 10 //PWM<57>ĸߵ<C4B8>ƽʱ<C6BD>䣬10<31><30>10ms<6D><73><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>20181227
#define WAKE_UP_PIN P1_5 //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define KGF_PIN P0_0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CAN_PIN P1_6 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define STOP_PIN P3_6 //<2F><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ON 0 //<2F><><EFBFBD><EFBFBD>
#define OFF 1 //<2F>ɿ<EFBFBD>
#define FAULT 0
#define NORMAL 1
#define HERTER_CMD(A) dfOut_05 = A;dfOut_06 = A;dfOut_07 = A;dfOut_08 = A
#define PC_CMD(A) dfOut_09 = A;dfOut_10 = A
// ״̬<D7B4><CCAC><EFBFBD><EFBFBD><E5A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
typedef enum {
STATE_INIT_CHECK, // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><0<><30>C<EFBFBD><43>
STATE_HEATING, // <20><><EFBFBD><EFBFBD>״̬
STATE_COOLING, // ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>״̬
STATE_INIT_HEATING
} SystemState;
// <20><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ1<D2B3>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>
#define TEMP_HYSTERESIS 0.5f // <20>ز<EFBFBD><D8B2><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>[1,3](@ref)
#define INIT_THRESHOLD 0.0f // <20><>ʼ״̬<D7B4><CCAC>ֵ 0
#define HEATING_STOP 10.0f // ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10
#define COOLING_RESTART 5.0f // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ״̬ö<CCAC><C3B6>
typedef enum {
POWER_STANDBY,
POWER_WORKING,
POWER_EMERGENCY,
POWER_PRE_CHARGE,
POWER_NEUTRAL,
POWER_SLEEP
} PowerState;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>ģ<EFBFBD><C4A3>
typedef struct _StrInfCanKGFOutput
{
//----------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0x11000002 --------------------------------------------
unsigned int KGF01 : 1; // ͨ<><CDA8>1
unsigned int KGF02 : 1; // ͨ<><CDA8>2
unsigned int KGF03 : 1; // ͨ<><CDA8>3
unsigned int KGF04 : 1; // ͨ<><CDA8>4
unsigned int KGF05 : 1; // ͨ<><CDA8>5
unsigned int KGF06 : 1; // ͨ<><CDA8>6
unsigned int KGF07 : 1; // ͨ<><CDA8>7
unsigned int KGF08 : 1; // ͨ<><CDA8>8
unsigned int KGF09 : 1; // ͨ<><CDA8>9
unsigned int KGF10 : 1; // ͨ<><CDA8>10
unsigned int KGF11 : 1; // ͨ<><CDA8>11
unsigned int KGF12 : 1; // ͨ<><CDA8>12
unsigned int KGF13 : 1; // ͨ<><CDA8>13
unsigned int KGF14 : 1; // ͨ<><CDA8>14
unsigned int KGF15 : 1; // ͨ<><CDA8>15
unsigned int KGF16 : 1; // ͨ<><CDA8>16
unsigned int can_rx2 : 8; // <20><><EFBFBD><EFBFBD>
unsigned int can_rx3 : 8; // <20><><EFBFBD><EFBFBD>
unsigned int can_rx4 : 8; // <20><><EFBFBD><EFBFBD>
unsigned int can_rx5 : 8; // <20><><EFBFBD><EFBFBD>
unsigned int can_period_h : 8; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>λ
unsigned int can_period_l : 8; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>λ
//----------<2D><><EFBFBD><EFBFBD>0x11000003 ---------------------------------------------------
unsigned int pwm_01 : 4; // PWMͨ<4D><CDA8>1
unsigned int pwm_02 : 4; // PWMͨ<4D><CDA8>2
unsigned int pwm_03 : 4; // PWMͨ<4D><CDA8>3
unsigned int pwm_04 : 4; // PWMͨ<4D><CDA8>4
unsigned int pwm_05 : 4; // PWMͨ<4D><CDA8>5
unsigned int pwm_06 : 4; // PWMͨ<4D><CDA8>6
unsigned int pwm_07 : 4; // PWMͨ<4D><CDA8>7
unsigned int pwm_08 : 4; // PWMͨ<4D><CDA8>8
unsigned int pwm_09 : 4; // PWMͨ<4D><CDA8>9
unsigned int pwm_10 : 4; // PWMͨ<4D><CDA8>10
unsigned int pwm_11 : 4; // PWMͨ<4D><CDA8>11
unsigned int pwm_12 : 4; // PWMͨ<4D><CDA8>12
unsigned int pwm_13 : 4; // PWMͨ<4D><CDA8>13
unsigned int pwm_14 : 4; // PWMͨ<4D><CDA8>14
unsigned int pwm_15 : 4; // PWMͨ<4D><CDA8>15
unsigned int pwm_16 : 4; // PWMͨ<4D><CDA8>16
} StrInfCanKGFOutput;
typedef union _UnInfCanKGFOutput
{
StrInfCanKGFOutput bit_data; // ʹ<>ö<EFBFBD><C3B6><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ubyte arr[sizeof(StrInfCanKGFOutput)]; // ͨ<><CDA8><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>С
} UnInfCanKGFOutput;
//---<2D>ⲿҪʹ<D2AA>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>---------------------------------------------------------------------
extern UnSwOut UnSwOut_1;
extern UnInfCan UnInfCan_1;
extern uword CntCan_1;
extern bit FlgCan_1;
extern ubyte RestartDataFlg1;
extern ubyte RestartDataFlg2;
extern uword RestartDataKGF;
extern UnInfCanKGFOutput un_inf_can_kgf_output1;//kgf<67><66><EFBFBD><EFBFBD>
void CanRXTX(void);
void SwSample(void);
void LedDr(void);
void RTCProcess(void);
void CanErrorProcess(void);
void CanTransmit(void);
void canSendTo(ubyte index, ubyte *buff);
#endif