解决温度采集延时问题
This commit is contained in:
76
CAN.C
76
CAN.C
@@ -283,6 +283,7 @@ void CAN_vInit(void)
|
|||||||
CAN_vSetListCommand(0x010B0002); // MO11 for list 1
|
CAN_vSetListCommand(0x010B0002); // MO11 for list 1
|
||||||
CAN_vSetListCommand(0x010C0002); // MO12 for list 1
|
CAN_vSetListCommand(0x010C0002); // MO12 for list 1
|
||||||
CAN_vSetListCommand(0x010D0002); // MO13 for list 1
|
CAN_vSetListCommand(0x010D0002); // MO13 for list 1
|
||||||
|
CAN_vSetListCommand(0x010E0002); // MO14 for list 1
|
||||||
|
|
||||||
/// -----------------------------------------------------------------------
|
/// -----------------------------------------------------------------------
|
||||||
/// Configuration of the CAN Message Objects 0 - 31:
|
/// Configuration of the CAN Message Objects 0 - 31:
|
||||||
@@ -1004,7 +1005,80 @@ void CAN_vInit(void)
|
|||||||
/// -----------------------------------------------------------------------
|
/// -----------------------------------------------------------------------
|
||||||
/// Configuration of Message Object 14:
|
/// Configuration of Message Object 14:
|
||||||
/// -----------------------------------------------------------------------
|
/// -----------------------------------------------------------------------
|
||||||
/// - message object 14 is not valid
|
/// - message object 14 is valid
|
||||||
|
/// - message object is used as receive object
|
||||||
|
/// - this message object is assigned to list 1 (node 0)
|
||||||
|
|
||||||
|
//--------------MOCTR14 = 0x00A00000---------------------------------------
|
||||||
|
|
||||||
|
CAN_vWriteCANAddress(CAN_MOCTR14); // Addressing MO14 control register
|
||||||
|
|
||||||
|
CAN_vWriteAMData(0x00A00000); // load MO14 control register
|
||||||
|
|
||||||
|
// CAN Address pointing to the CAN_MOAR14
|
||||||
|
CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
|
||||||
|
|
||||||
|
/// - priority class 3; transmit acceptance filtering is based on the list
|
||||||
|
/// order (like class 1)
|
||||||
|
/// - extended 29-bit identifier
|
||||||
|
/// - identifier 29-bit: 0x11000003
|
||||||
|
|
||||||
|
//--------------MOAR14 = 0xF1000003---------------------------------------
|
||||||
|
|
||||||
|
CAN_vWriteAMData(0xF1000003); // load MO14 arbitration register
|
||||||
|
|
||||||
|
// CAN Address pointing to the CAN_MODATAH14
|
||||||
|
CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
|
||||||
|
|
||||||
|
|
||||||
|
//--------------MODATAH14 = 0x00000000---------------------------------------
|
||||||
|
|
||||||
|
CAN_vWriteAMData(0x00000000); // load MO14 data register high
|
||||||
|
|
||||||
|
// CAN Address pointing to the CAN_MODATAL14
|
||||||
|
CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
|
||||||
|
|
||||||
|
//--------------MODATAL14 = 0x00000000---------------------------------------
|
||||||
|
|
||||||
|
CAN_vWriteAMData(0x00000000); // load MO14 data register low
|
||||||
|
|
||||||
|
// CAN Address pointing to the CAN_MOAMR14
|
||||||
|
CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
|
||||||
|
|
||||||
|
/// - only accept receive frames with matching IDE bit
|
||||||
|
/// - acceptance mask 29-bit: 0x1FFFFFFF
|
||||||
|
|
||||||
|
//--------------CAN_MOAMR14 = 0x3FFFFFFF------------------------------------
|
||||||
|
|
||||||
|
CAN_vWriteAMData(0x3FFFFFFF); // load MO14 acceptance mask register
|
||||||
|
|
||||||
|
// CAN Address pointing to the CAN_MOIPR14
|
||||||
|
CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
|
||||||
|
|
||||||
|
/// - use message pending register 0 bit position 14
|
||||||
|
|
||||||
|
//--------------MOIPR14 = 0x00000E00---------------------------------------
|
||||||
|
|
||||||
|
CAN_vWriteAMData(0x00000E00); // load MO14 interrupt pointer register
|
||||||
|
|
||||||
|
// CAN Address pointing to the CAN_MOFGPR14
|
||||||
|
CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
|
||||||
|
|
||||||
|
|
||||||
|
//--------------MOFGPR14 = 0x00000000---------------------------------------
|
||||||
|
|
||||||
|
CAN_vWriteAMData(0x00000000); // load MO14 FIFO/gateway pointer register
|
||||||
|
|
||||||
|
// CAN Address pointing to the CAN_MOFCR14
|
||||||
|
CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
|
||||||
|
|
||||||
|
/// - this object is a STANDARD MESSAGE OBJECT
|
||||||
|
/// - 8 valid data bytes
|
||||||
|
|
||||||
|
//--------------MOFCR14 = 0x08000000---------------------------------------
|
||||||
|
|
||||||
|
CAN_vWriteAMData(0x08000000); // load MO14 function control register
|
||||||
|
|
||||||
/// -----------------------------------------------------------------------
|
/// -----------------------------------------------------------------------
|
||||||
/// Configuration of Message Object 15:
|
/// Configuration of Message Object 15:
|
||||||
/// -----------------------------------------------------------------------
|
/// -----------------------------------------------------------------------
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
12
IO.C
12
IO.C
@@ -188,10 +188,8 @@ void IO_vInit(void)
|
|||||||
/// - is used as general input
|
/// - is used as general input
|
||||||
/// - pull-up device is assigned
|
/// - pull-up device is assigned
|
||||||
/// P1.4:
|
/// P1.4:
|
||||||
/// - is used as general purpose output
|
/// - is used as general input
|
||||||
/// - push/pull output is selected
|
/// - pull-up device is assigned
|
||||||
/// - the pin status is low level
|
|
||||||
/// - pull device is disabled (tristate)
|
|
||||||
/// P1.5:
|
/// P1.5:
|
||||||
/// - is used as general input
|
/// - is used as general input
|
||||||
/// - pull-up device is assigned
|
/// - pull-up device is assigned
|
||||||
@@ -201,13 +199,11 @@ void IO_vInit(void)
|
|||||||
/// - the pin status is low level
|
/// - the pin status is low level
|
||||||
/// - pull device is disabled (tristate)
|
/// - pull device is disabled (tristate)
|
||||||
|
|
||||||
|
|
||||||
SFR_PAGE(_pp1, noSST); // switch to page 1
|
SFR_PAGE(_pp1, noSST); // switch to page 1
|
||||||
P1_PUDSEL = 0xFF; // load pullup/pulldown select register
|
P1_PUDEN = 0xBF; // load pullup/pulldown enable register
|
||||||
P1_PUDEN = 0xAF; // load pullup/pulldown enable register
|
|
||||||
|
|
||||||
SFR_PAGE(_pp0, noSST); // switch to page 0
|
SFR_PAGE(_pp0, noSST); // switch to page 0
|
||||||
P1_DIR = 0x50; // load direction register
|
P1_DIR = 0x40; // load direction register
|
||||||
|
|
||||||
/// -----------------------------------------------------------------------
|
/// -----------------------------------------------------------------------
|
||||||
/// Configuration of Port P2:
|
/// Configuration of Port P2:
|
||||||
|
|||||||
16
MAIN.C
16
MAIN.C
@@ -235,13 +235,27 @@ void main(void)
|
|||||||
|
|
||||||
// SetConfig(1,CFG_MPS_Single,CFG_Repeatbility_High);
|
// SetConfig(1,CFG_MPS_Single,CFG_Repeatbility_High);
|
||||||
|
|
||||||
RomNum = Search_ROM(romid); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>ROM ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>romid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>
|
// RomNum = Search_ROM(romid); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>ROM ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>romid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
// if(1 == power_state)//<2F><><EFBFBD>绽<EFBFBD>ѲŸ<D1B2><C5B8><EFBFBD>ʱ<EFBFBD><CAB1>
|
// if(1 == power_state)//<2F><><EFBFBD>绽<EFBFBD>ѲŸ<D1B2><C5B8><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
// {
|
// {
|
||||||
bm8563SetTime(&inittime);//20250802 <20><>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊʱ<CEAA>䲻<EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
bm8563SetTime(&inittime);//20250802 <20><>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊʱ<CEAA>䲻<EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
//E3<45><33>ʼ<EFBFBD><CABC> 20251117
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF01 = 0x01; // E3
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF02 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF03 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF05 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF06 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF07 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF08 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF09 = 0 ; // <20><><EFBFBD><EFBFBD>
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF11 = 0x01; // <20><>װ
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF12 = 0x01; // <20><>װ
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF14 = 0 ; // <20><>
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF15 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||||
|
un_inf_can_kgf_output1.bit_data.KGF16 = 0x01; // ң<><D2A3><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
|
|||||||
83
SHARED_INT.C
83
SHARED_INT.C
@@ -133,9 +133,10 @@ void SHINT_vInit(void)
|
|||||||
|
|
||||||
IEN0 |= 0x20; // load interrupt enable register 0
|
IEN0 |= 0x20; // load interrupt enable register 0
|
||||||
|
|
||||||
|
/// - Timer21 Interrupt is Selected
|
||||||
|
|
||||||
|
|
||||||
IEN1 |= 0x00; // load interrupt enable register 1
|
IEN1 |= 0x04; // load interrupt enable register 1
|
||||||
|
|
||||||
|
|
||||||
// USER CODE BEGIN (SHINT_Init,3)
|
// USER CODE BEGIN (SHINT_Init,3)
|
||||||
@@ -306,6 +307,86 @@ RTCProcess();
|
|||||||
} // End of function SHINT_viXINTR5Isr
|
} // End of function SHINT_viXINTR5Isr
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Function void SHINT_viXINTR8Isr(void)
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Description This is the service routine for the shared interrupt node
|
||||||
|
// XINTR8. XINTR8 ISR Node is shared by External Interrupt
|
||||||
|
// 2,Timer 21,CORDIC,UART1,UART1 Fractional Divider(BRG
|
||||||
|
// Interrupt), and MDU[1:0]. Depending on the selected module
|
||||||
|
// interrupt it is called.
|
||||||
|
// EXT2 - It is called for the External interrupt 2.
|
||||||
|
// T21 - Depending on the selected operating mode it is called
|
||||||
|
// when TF2 is set by an overflow or underflow of the timer 21
|
||||||
|
// register or when EXF2 is set by a negative transition on
|
||||||
|
// T2EX.
|
||||||
|
// UART1 - It is called after the BRG timer overflows and sets
|
||||||
|
// the NDOV bit.
|
||||||
|
// It is called after each transmission (flag TI_1 set) or
|
||||||
|
// reception (flag RI_1 set) of a data unit.
|
||||||
|
// Please note that you have to add application specific code
|
||||||
|
// to this function.
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Returnvalue none
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Parameters None
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Date 2025/11/17
|
||||||
|
//
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// You have two choices for interrupt type select in Project Settings Page
|
||||||
|
// under Global Settings Section.
|
||||||
|
// If you select CHOICE 1 then ISR will be generated with push and pop.
|
||||||
|
// If you select CHOICE 2 then ISR will be generated without push and pop.
|
||||||
|
// Default choice is CHOICE 2.
|
||||||
|
// Current selection is CHOICE 2
|
||||||
|
|
||||||
|
// USER CODE BEGIN (SHINT_XINTR8Isr,1)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
void SHINT_viXINTR8Isr(void) interrupt XINTR8INT
|
||||||
|
{
|
||||||
|
|
||||||
|
// USER CODE BEGIN (SHINT_XINTR8Isr,2)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
EA = 0; // disable global interrupt
|
||||||
|
_push_(SYSCON0); // push the current RMAP
|
||||||
|
|
||||||
|
SET_RMAP(); // sets RMAP
|
||||||
|
|
||||||
|
// Timer 21 interrupt handling section...
|
||||||
|
|
||||||
|
if (TF2)
|
||||||
|
{
|
||||||
|
// a timer 21 overflow has occured
|
||||||
|
|
||||||
|
TF2 = 0;
|
||||||
|
|
||||||
|
// USER CODE BEGIN (SHINT_XINTR8Isr,4)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// USER CODE BEGIN (SHINT_XINTR8Isr,9)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
_pop_(SYSCON0); // restore the old RMAP
|
||||||
|
EA = 1; // enable global interrupt
|
||||||
|
|
||||||
|
} // End of function SHINT_viXINTR8Isr
|
||||||
|
|
||||||
|
|
||||||
// USER CODE BEGIN (SHARED_INT_General,10)
|
// USER CODE BEGIN (SHARED_INT_General,10)
|
||||||
|
|
||||||
// USER CODE END
|
// USER CODE END
|
||||||
|
|||||||
@@ -96,6 +96,8 @@ void SHINT_vInit(void);
|
|||||||
|
|
||||||
#define XINTR5INT 5
|
#define XINTR5INT 5
|
||||||
|
|
||||||
|
#define XINTR8INT 8
|
||||||
|
|
||||||
// USER CODE BEGIN (SHARED_INT_Header,9)
|
// USER CODE BEGIN (SHARED_INT_Header,9)
|
||||||
|
|
||||||
// USER CODE END
|
// USER CODE END
|
||||||
|
|||||||
181
T21.C
Normal file
181
T21.C
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
//****************************************************************************
|
||||||
|
// @Module Timer 21
|
||||||
|
// @Filename T21.C
|
||||||
|
// @Project CL2.0.dav
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Controller Infineon XC886CLM-8FF
|
||||||
|
//
|
||||||
|
// @Compiler Keil
|
||||||
|
//
|
||||||
|
// @Codegenerator 1.3
|
||||||
|
//
|
||||||
|
// @Description: This file contains functions that use the T21 module.
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Date 2025/11/17 18:48:53
|
||||||
|
//
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,1)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Project Includes
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
#include "MAIN.H"
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,2)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Macros
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,3)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Defines
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,4)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Typedefs
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,5)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Imported Global Variables
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,6)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Global Variables
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,7)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @External Prototypes
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,8)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Prototypes Of Local Functions
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,9)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Function void T21_vInit(void)
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Description This is the initialization function of the Timer 21
|
||||||
|
// function library. It is assumed that the SFRs used by this
|
||||||
|
// library are in their reset state.
|
||||||
|
//
|
||||||
|
// The following SFRs and SFR fields will be initialized:
|
||||||
|
// T21_RC2H/RC2L - reload/capture timer 21 register
|
||||||
|
// T21_T2H/T2L - timer 21 register
|
||||||
|
// EX2 - timer 21 interrupt enable
|
||||||
|
// T21_T2MOD - timer 21 mode register
|
||||||
|
// CP/RL2 - Capture/Reload select
|
||||||
|
// EXEN2 - External enable control
|
||||||
|
// TR2 - Timer21 run control
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Returnvalue None
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Parameters None
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Date 2025/11/17
|
||||||
|
//
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Init,1)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
void T21_vInit(void)
|
||||||
|
{
|
||||||
|
// USER CODE BEGIN (T21_Init,2)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------
|
||||||
|
// Operating Mode
|
||||||
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
/// 16-bit timer function with automatic reload when timer 21 overflows
|
||||||
|
/// Prescaler enabled - input clock = fPCLK
|
||||||
|
/// the timer 21 resolution is .042 ?s
|
||||||
|
/// the timer 21 overflow is 1.000 ?s
|
||||||
|
/// timer 21 interrupt: enabled
|
||||||
|
/// timer 21 will be started
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------
|
||||||
|
// Register Initialization
|
||||||
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SET_RMAP();
|
||||||
|
|
||||||
|
T21_T2L = 0xE8; // load timer 21 register, low byte
|
||||||
|
|
||||||
|
T21_T2H = 0xFF; // load timer 21 register, high byte
|
||||||
|
|
||||||
|
T21_RC2L = 0xE8; // load timer 21 reload/capture register,
|
||||||
|
// low byte
|
||||||
|
T21_RC2H = 0xFF; // load timer 21 reload/capture register,
|
||||||
|
// high byte
|
||||||
|
T21_T2MOD = 0x10; // load timer 21 mode register
|
||||||
|
/// Timer 21 Interrupt enable bit is set in SHINT_vInit() function
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Init,3)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
TR2 = 1; // start timer
|
||||||
|
|
||||||
|
RESET_RMAP();
|
||||||
|
|
||||||
|
} // End of function T21_vInit
|
||||||
|
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_General,10)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
104
T21.H
Normal file
104
T21.H
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
//****************************************************************************
|
||||||
|
// @Module Timer 21
|
||||||
|
// @Filename T21.H
|
||||||
|
// @Project CL2.0.dav
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Controller Infineon XC886CLM-8FF
|
||||||
|
//
|
||||||
|
// @Compiler Keil
|
||||||
|
//
|
||||||
|
// @Codegenerator 1.3
|
||||||
|
//
|
||||||
|
// @Description: This file contains all function prototypes and macros for
|
||||||
|
// the T21 module.
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// @Date 2025/11/17 18:48:53
|
||||||
|
//
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,1)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _T21_H_
|
||||||
|
#define _T21_H_
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Project Includes
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,2)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Macros
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,3)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Defines
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,4)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Typedefs
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,5)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Imported Global Variables
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,6)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Global Variables
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,7)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Prototypes Of Global Functions
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
void T21_vInit(void);
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,8)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
|
||||||
|
//****************************************************************************
|
||||||
|
// @Interrupt Vectors
|
||||||
|
//****************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
// Shared interrupt vector definitions are defined in SHARED_INT.H
|
||||||
|
|
||||||
|
// USER CODE BEGIN (T21_Header,9)
|
||||||
|
|
||||||
|
// USER CODE END
|
||||||
|
|
||||||
|
#endif // ifndef _T21_H_
|
||||||
48
User.c
48
User.c
@@ -1,4 +1,4 @@
|
|||||||
#include "MAIN.H"-
|
#include "MAIN.H"
|
||||||
#include "RTC.H"
|
#include "RTC.H"
|
||||||
#include "temperature.H"
|
#include "temperature.H"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -39,7 +39,7 @@ ubyte can_error_flg = 0;
|
|||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
//RTC<54><43>ʱ<EFBFBD><CAB1> 890-=
|
//RTC<54><43>ʱ<EFBFBD><CAB1>
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
void RTCProcess(void)
|
void RTCProcess(void)
|
||||||
{
|
{
|
||||||
@@ -241,6 +241,24 @@ void CanRXTX(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(CAN_ubNewData(DF_SwZFKGF1))//<2F><><EFBFBD><EFBFBD>E3<45><33>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
{
|
||||||
|
CAN_vGetMsgObj(DF_SwZFKGF1, &StrCanRx);
|
||||||
|
|
||||||
|
un_inf_can_kgf_output1.arr[2] = StrCanRx.ulDATAL.ubDB[0];
|
||||||
|
un_inf_can_kgf_output1.arr[3] = StrCanRx.ulDATAL.ubDB[1];
|
||||||
|
un_inf_can_kgf_output1.arr[0] = StrCanRx.ulDATAL.ubDB[2];
|
||||||
|
un_inf_can_kgf_output1.arr[1] = StrCanRx.ulDATAL.ubDB[3];
|
||||||
|
un_inf_can_kgf_output1.arr[6] = StrCanRx.ulDATAH.ubDB[0];
|
||||||
|
un_inf_can_kgf_output1.arr[7] = StrCanRx.ulDATAH.ubDB[1];
|
||||||
|
un_inf_can_kgf_output1.arr[4] = StrCanRx.ulDATAH.ubDB[2];
|
||||||
|
un_inf_can_kgf_output1.arr[5] = StrCanRx.ulDATAH.ubDB[3];
|
||||||
|
|
||||||
|
CAN_vReleaseObj(DF_SwZFKGF1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------
|
//----------------------------------------------------------
|
||||||
@@ -341,31 +359,7 @@ void CanRXTX(void)
|
|||||||
|
|
||||||
if(vcu_can_cnt == vcu_can_last)//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
if(vcu_can_cnt == vcu_can_last)//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
flg_wake_ecu = FAULT;
|
flg_wake_ecu = FAULT;
|
||||||
|
|
||||||
// un_inf_can_kgf_output2.bit_data.KGF01 = 0x01;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// un_inf_can_kgf_output2.bit_data.KGF02 = 0x01;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// un_inf_can_kgf_output2.bit_data.KGF15 = 0x01;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// un_inf_can_kgf_output2.bit_data.KGF16 = 0x01;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
// un_inf_can_kgf_output2.bit_data.KGF03 = 0x01;// ң<><D2A3><EFBFBD><EFBFBD>
|
|
||||||
// un_inf_can_kgf_output2.bit_data.KGF05 = 0x01;// <20><><EFBFBD>罻<EFBFBD><E7BDBB><EFBFBD><EFBFBD>
|
|
||||||
// un_inf_can_kgf_output2.bit_data.KGF06 = 0x01;// <20><><EFBFBD>罻<EFBFBD><E7BDBB><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
// un_inf_can_kgf_output2.bit_data.KGF04 = 0x01;//KGF20<32>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF01 = 0x01; // E3
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF02 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF03 = 0 ; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF05 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF06 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF07 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF08 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF09 = 0x01; // <20><>װ
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF11 = 0x01; // <20><>װ
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF12 = 0x01; // <20><><EFBFBD><EFBFBD>
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF15 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
|
||||||
un_inf_can_kgf_output1.bit_data.KGF16 = 0x01; // ң<><D2A3><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
if(1 == flg_KGF)//<2F>ȴ<EFBFBD>KGF<47><46><EFBFBD>Ѻ<EFBFBD><D1BA>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if(1 == flg_KGF)//<2F>ȴ<EFBFBD>KGF<47><46><EFBFBD>Ѻ<EFBFBD><D1BA>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -281,12 +281,12 @@ BOOL ReadTempWaiting(uword *iTemp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>ǰ8<C7B0><38><EFBFBD>ֽڵ<D6BD>У<EFBFBD><D0A3><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յĵ<D5B5>9<EFBFBD><39>CRC<52>ֽڱȽϡ<C8BD>*/
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>ǰ8<C7B0><38><EFBFBD>ֽڵ<D6BD>У<EFBFBD><D0A3><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յĵ<D5B5>9<EFBFBD><39>CRC<52>ֽڱȽϡ<C8BD>*/
|
||||||
UnSwSample_1.bit_data.temperature[1] = scrb[8];
|
// UnSwSample_1.bit_data.temperature[1] = scrb[8];
|
||||||
// if(scrb[8] != MY_OW_CRC8(scrb, 8))
|
if(scrb[8] != MY_OW_CRC8(scrb, 8))
|
||||||
// {
|
{
|
||||||
|
|
||||||
// return FALSE; /*CRC<52><43>֤δͨ<CEB4><CDA8>*/
|
return FALSE; /*CRC<52><43>֤δͨ<CEB4><CDA8>*/
|
||||||
// }
|
}
|
||||||
// UnSwSample_1.bit_data.temperature[1] = *iTemp;
|
// UnSwSample_1.bit_data.temperature[1] = *iTemp;
|
||||||
/*<2A><><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽںϳ<DABA>Ϊ16λ<36>֡<EFBFBD>*/
|
/*<2A><><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽںϳ<DABA>Ϊ16λ<36>֡<EFBFBD>*/
|
||||||
*iTemp = ((uword)(scr->T_msb) << 8) | scr->T_lsb;
|
*iTemp = ((uword)(scr->T_msb) << 8) | scr->T_lsb;
|
||||||
|
|||||||
112
temperature.h
112
temperature.h
@@ -36,7 +36,7 @@
|
|||||||
#define CFG_Repeatbility_High 0x02
|
#define CFG_Repeatbility_High 0x02
|
||||||
|
|
||||||
|
|
||||||
#define MAXNUM 5 /*总线级联最大芯片数量*/
|
#define MAXNUM 5 /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
FALSE = 0,
|
FALSE = 0,
|
||||||
@@ -48,7 +48,7 @@ typedef struct
|
|||||||
{
|
{
|
||||||
char Tha_set_lsb;
|
char Tha_set_lsb;
|
||||||
char Tla_set_lsb;
|
char Tla_set_lsb;
|
||||||
ubyte Cfg; /*系统配置寄存器, RW*/
|
ubyte Cfg; /*ϵͳ<EFBFBD><EFBFBD><EFBFBD>üĴ<EFBFBD><EFBFBD><EFBFBD>, RW*/
|
||||||
} M601_SCRATCHPAD_WRITE;
|
} M601_SCRATCHPAD_WRITE;
|
||||||
|
|
||||||
|
|
||||||
@@ -74,14 +74,14 @@ typedef enum
|
|||||||
/*SRAM scratchpad*/
|
/*SRAM scratchpad*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
ubyte T_lsb; /*The LSB of 温度结果, RO*/
|
ubyte T_lsb; /*The LSB of <EFBFBD>¶Ƚ<EFBFBD><EFBFBD><EFBFBD>, RO*/
|
||||||
ubyte T_msb; /*The MSB of 温度结果, RO*/
|
ubyte T_msb; /*The MSB of <EFBFBD>¶Ƚ<EFBFBD><EFBFBD><EFBFBD>, RO*/
|
||||||
ubyte C1_lsb; /*The LSB of 电容通道C1, RO*/
|
ubyte C1_lsb; /*The LSB of <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>C1, RO*/
|
||||||
ubyte C1_msb; /*The MSB of 电容通道C1, Ro*/
|
ubyte C1_msb; /*The MSB of <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>C1, Ro*/
|
||||||
ubyte Tha_set_lsb;
|
ubyte Tha_set_lsb;
|
||||||
ubyte Tla_set_lsb;
|
ubyte Tla_set_lsb;
|
||||||
ubyte Cfg; /*系统配置寄存器, RW*/
|
ubyte Cfg; /*ϵͳ<EFBFBD><EFBFBD><EFBFBD>üĴ<EFBFBD><EFBFBD><EFBFBD>, RW*/
|
||||||
ubyte Status; /*系统状态寄存器, RO*/
|
ubyte Status; /*ϵͳ״̬<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>, RO*/
|
||||||
ubyte crc_scr; /*CRC for byte0-7, RO*/
|
ubyte crc_scr; /*CRC for byte0-7, RO*/
|
||||||
} M601_SCRATCHPAD_READ;
|
} M601_SCRATCHPAD_READ;
|
||||||
|
|
||||||
@@ -89,64 +89,64 @@ typedef struct
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//20250116 增加温度采集字节
|
//20250116 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶Ȳɼ<EFBFBD><EFBFBD>ֽ<EFBFBD>
|
||||||
typedef struct _StrSwSample
|
typedef struct _StrSwSample
|
||||||
{
|
{
|
||||||
unsigned int emergency_stop_switch : 1; // 通道1,急停开关
|
unsigned int emergency_stop_switch : 1; // ͨ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
unsigned int High_voltage_switch : 1; // 通道2,高压开关
|
unsigned int High_voltage_switch : 1; // ͨ<EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
unsigned int CH03 : 1; // 通道3
|
unsigned int CH03 : 1; // ͨ<EFBFBD><EFBFBD>3
|
||||||
unsigned int CH04 : 1; // 通道4
|
unsigned int CH04 : 1; // ͨ<EFBFBD><EFBFBD>4
|
||||||
unsigned int CH05 : 1; // 通道5
|
unsigned int CH05 : 1; // ͨ<EFBFBD><EFBFBD>5
|
||||||
unsigned int CH06 : 1; // 通道6
|
unsigned int CH06 : 1; // ͨ<EFBFBD><EFBFBD>6
|
||||||
unsigned int CH07 : 1; // 通道7
|
unsigned int CH07 : 1; // ͨ<EFBFBD><EFBFBD>7
|
||||||
unsigned int CH08 : 1; // 通道8
|
unsigned int CH08 : 1; // ͨ<EFBFBD><EFBFBD>8
|
||||||
unsigned int CH09 : 1; // 通道9
|
unsigned int CH09 : 1; // ͨ<EFBFBD><EFBFBD>9
|
||||||
unsigned int CH10 : 1; // 通道10
|
unsigned int CH10 : 1; // ͨ<EFBFBD><EFBFBD>10
|
||||||
unsigned int CH11 : 1; // 通道11
|
unsigned int CH11 : 1; // ͨ<EFBFBD><EFBFBD>11
|
||||||
unsigned int CH12 : 1; // 通道12
|
unsigned int CH12 : 1; // ͨ<EFBFBD><EFBFBD>12
|
||||||
unsigned int CH13 : 1; // 通道13
|
unsigned int CH13 : 1; // ͨ<EFBFBD><EFBFBD>13
|
||||||
unsigned int CH14 : 1; // 通道14
|
unsigned int CH14 : 1; // ͨ<EFBFBD><EFBFBD>14
|
||||||
unsigned int CH15 : 1; // 通道15
|
unsigned int CH15 : 1; // ͨ<EFBFBD><EFBFBD>15
|
||||||
unsigned int CH16 : 1; // 通道16
|
unsigned int CH16 : 1; // ͨ<EFBFBD><EFBFBD>16
|
||||||
unsigned int CH17 : 1; // 通道17
|
unsigned int CH17 : 1; // ͨ<EFBFBD><EFBFBD>17
|
||||||
unsigned int CH18 : 1; // 通道18
|
unsigned int CH18 : 1; // ͨ<EFBFBD><EFBFBD>18
|
||||||
unsigned int CH19 : 1; // 通道19
|
unsigned int CH19 : 1; // ͨ<EFBFBD><EFBFBD>19
|
||||||
unsigned int CH20 : 1; // 通道20
|
unsigned int CH20 : 1; // ͨ<EFBFBD><EFBFBD>20
|
||||||
unsigned int CH21 : 1; // 通道21
|
unsigned int CH21 : 1; // ͨ<EFBFBD><EFBFBD>21
|
||||||
unsigned int CH22 : 1; // 通道22
|
unsigned int CH22 : 1; // ͨ<EFBFBD><EFBFBD>22
|
||||||
unsigned int CH23 : 1; // 通道23
|
unsigned int CH23 : 1; // ͨ<EFBFBD><EFBFBD>23
|
||||||
unsigned int CH24 : 1; // 通道24
|
unsigned int CH24 : 1; // ͨ<EFBFBD><EFBFBD>24
|
||||||
unsigned int CH25 : 1; // 通道25
|
unsigned int CH25 : 1; // ͨ<EFBFBD><EFBFBD>25
|
||||||
unsigned int CH26 : 1; // 通道26
|
unsigned int CH26 : 1; // ͨ<EFBFBD><EFBFBD>26
|
||||||
unsigned int CH27 : 1; // 通道27
|
unsigned int CH27 : 1; // ͨ<EFBFBD><EFBFBD>27
|
||||||
unsigned int CH28 : 1; // 通道28
|
unsigned int CH28 : 1; // ͨ<EFBFBD><EFBFBD>28
|
||||||
unsigned int CH29 : 1; // 通道29
|
unsigned int CH29 : 1; // ͨ<EFBFBD><EFBFBD>29
|
||||||
unsigned int CH30 : 1; // 通道30
|
unsigned int CH30 : 1; // ͨ<EFBFBD><EFBFBD>30
|
||||||
unsigned int CH31 : 1; // 通道31
|
unsigned int CH31 : 1; // ͨ<EFBFBD><EFBFBD>31
|
||||||
unsigned int CH32 : 1; // 通道32
|
unsigned int CH32 : 1; // ͨ<EFBFBD><EFBFBD>32
|
||||||
|
|
||||||
// unsigned int CH33 : 1; // 通道33
|
// unsigned int CH33 : 1; // ͨ<EFBFBD><EFBFBD>33
|
||||||
// unsigned int CH34 : 1; // 通道34
|
// unsigned int CH34 : 1; // ͨ<EFBFBD><EFBFBD>34
|
||||||
// unsigned int CH35 : 1; // 通道35
|
// unsigned int CH35 : 1; // ͨ<EFBFBD><EFBFBD>35
|
||||||
// unsigned int CH36 : 1; // 通道36
|
// unsigned int CH36 : 1; // ͨ<EFBFBD><EFBFBD>36
|
||||||
// unsigned int CH37 : 1; // 通道37
|
// unsigned int CH37 : 1; // ͨ<EFBFBD><EFBFBD>37
|
||||||
// unsigned int CH38 : 1; // 通道38
|
// unsigned int CH38 : 1; // ͨ<EFBFBD><EFBFBD>38
|
||||||
// unsigned int CH39 : 1; // 通道39
|
// unsigned int CH39 : 1; // ͨ<EFBFBD><EFBFBD>39
|
||||||
// unsigned int CH40 : 1; // 通道40
|
// unsigned int CH40 : 1; // ͨ<EFBFBD><EFBFBD>40
|
||||||
// unsigned int CH41 : 1; // 通道41
|
// unsigned int CH41 : 1; // ͨ<EFBFBD><EFBFBD>41
|
||||||
// unsigned int CH42 : 1; // 通道42
|
// unsigned int CH42 : 1; // ͨ<EFBFBD><EFBFBD>42
|
||||||
// unsigned int CH43 : 1; // 通道43
|
// unsigned int CH43 : 1; // ͨ<EFBFBD><EFBFBD>43
|
||||||
// unsigned int CH44 : 1; // 通道44
|
// unsigned int CH44 : 1; // ͨ<EFBFBD><EFBFBD>44
|
||||||
// unsigned int reserve : 4;
|
// unsigned int reserve : 4;
|
||||||
|
|
||||||
unsigned int temperature[2]; // 温度
|
unsigned int temperature[2]; // <EFBFBD>¶<EFBFBD>
|
||||||
|
|
||||||
} StrSwSample;
|
} StrSwSample;
|
||||||
|
|
||||||
typedef union _UnSwSample
|
typedef union _UnSwSample
|
||||||
{
|
{
|
||||||
StrSwSample bit_data; // 使用定义的结构体变量名
|
StrSwSample bit_data; // ʹ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
unsigned char arr[sizeof(StrSwSample)]; // 通过结构体类型确定大小
|
unsigned char arr[sizeof(StrSwSample)]; // ͨ<EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
||||||
} UnSwSample;
|
} UnSwSample;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
11
user.H
11
user.H
@@ -8,6 +8,7 @@
|
|||||||
#define DF_SwTxKGF2 10
|
#define DF_SwTxKGF2 10
|
||||||
#define DF_SwTxTemp 12
|
#define DF_SwTxTemp 12
|
||||||
#define DF_SwRxKGF2 13
|
#define DF_SwRxKGF2 13
|
||||||
|
#define DF_SwZFKGF1 14
|
||||||
|
|
||||||
#define MAX_TIME 43200 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>30<33><30><EFBFBD><EFBFBD>
|
#define MAX_TIME 43200 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>30<33><30><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
@@ -15,14 +16,12 @@
|
|||||||
#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 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> // <20><EFBFBD>Ϊ<EFBFBD>ɰ汾Ӳ<E6B1BE><D3B2>
|
#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 KGF_PIN P0_0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
#define CAN_PIN P1_6 //<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 STOP_PIN P3_6 //<2F><>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
#define BATTERY_PIN P1_4 //<2F><><EFBFBD>ؿ<EFBFBD><D8BF>ƽ<EFBFBD>
|
#define BATTERY_PIN P0_0 //<2F><><EFBFBD>ؿ<EFBFBD><D8BF>ƽ<EFBFBD>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define ON 0 //<2F><><EFBFBD><EFBFBD>
|
#define ON 0 //<2F><><EFBFBD><EFBFBD>
|
||||||
#define OFF 1 //<2F>ɿ<EFBFBD>
|
#define OFF 1 //<2F>ɿ<EFBFBD>
|
||||||
@@ -30,14 +29,12 @@
|
|||||||
#define FAULT 0
|
#define FAULT 0
|
||||||
#define NORMAL 1
|
#define NORMAL 1
|
||||||
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ״̬ö<CCAC><C3B6>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ״̬ö<CCAC><C3B6>
|
||||||
typedef enum {
|
typedef enum {
|
||||||
POWER_STANDBY,
|
POWER_STANDBY,
|
||||||
POWER_WORKING,
|
POWER_WORKING,
|
||||||
POWER_EMERGENCY,
|
POWER_EMERGENCY,
|
||||||
POWER_PRE_CHARGE,
|
POWER_PRE_CHARGE,
|
||||||
POWER_NEUTRAL,
|
|
||||||
POWER_SLEEP
|
POWER_SLEEP
|
||||||
} PowerState;
|
} PowerState;
|
||||||
|
|
||||||
@@ -106,10 +103,10 @@ extern UnSwOut UnSwOut_1;
|
|||||||
extern UnInfCan UnInfCan_1;
|
extern UnInfCan UnInfCan_1;
|
||||||
extern uword CntCan_1;
|
extern uword CntCan_1;
|
||||||
extern bit FlgCan_1;
|
extern bit FlgCan_1;
|
||||||
|
|
||||||
extern ubyte can_error_cnt;
|
extern ubyte can_error_cnt;
|
||||||
extern ubyte can_error_flg;
|
extern ubyte can_error_flg;
|
||||||
|
|
||||||
|
|
||||||
extern UnInfCanKGFOutput un_inf_can_kgf_output1;//kgf<67><66><EFBFBD><EFBFBD>
|
extern UnInfCanKGFOutput un_inf_can_kgf_output1;//kgf<67><66><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
void CanRXTX(void);
|
void CanRXTX(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user