Files
acquisition_module/MAIN.C

275 lines
7.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//****************************************************************************
// @Module Project Settings
// @Filename MAIN.C
// @Project CL2.0.dav
//----------------------------------------------------------------------------
// @Controller Infineon XC886CLM-8FF
//
// @Compiler Keil
//
// @Codegenerator 1.3
//
// @Description This file contains the Project initialization function.
//
//----------------------------------------------------------------------------
// @Date 2025/1/18 20:45:29
//
//****************************************************************************
// USER CODE BEGIN (MAIN_General,1)
// USER CODE END
//****************************************************************************
// @Project Includes
//****************************************************************************
#include "MAIN.H"
// USER CODE BEGIN (MAIN_General,2)
// USER CODE END
//****************************************************************************
// @Macros
//****************************************************************************
// USER CODE BEGIN (MAIN_General,3)
// USER CODE END
//****************************************************************************
// @Defines
//****************************************************************************
// USER CODE BEGIN (MAIN_General,4)
// USER CODE END
//****************************************************************************
// @Typedefs
//****************************************************************************
// USER CODE BEGIN (MAIN_General,5)
// USER CODE END
//****************************************************************************
// @Imported Global Variables
//****************************************************************************
// USER CODE BEGIN (MAIN_General,6)
// USER CODE END
//****************************************************************************
// @Global Variables
//****************************************************************************
// USER CODE BEGIN (MAIN_General,7)
// USER CODE END
//****************************************************************************
// @External Prototypes
//****************************************************************************
// USER CODE BEGIN (MAIN_General,8)
// USER CODE END
//****************************************************************************
// @Prototypes Of Local Functions
//****************************************************************************
// USER CODE BEGIN (MAIN_General,9)
// USER CODE END
//****************************************************************************
// @Function void MAIN_vInit(void)
//
//----------------------------------------------------------------------------
// @Description This function initializes the microcontroller. It is
// assumed that the SFRs are in their reset state.
//
//----------------------------------------------------------------------------
// @Returnvalue None
//
//----------------------------------------------------------------------------
// @Parameters None
//
//----------------------------------------------------------------------------
// @Date 2025/1/18
//
//****************************************************************************
// USER CODE BEGIN (MAIN_Init,1)
// USER CODE END
void MAIN_vInit(void)
{
// USER CODE BEGIN (MAIN_Init,2)
// USER CODE END
/// -----------------------------------------------------------------------
/// Configuration of the System Clock:
/// -----------------------------------------------------------------------
/// - External Osc is selected (configuration is done in the startup file
/// 'START_XC.A51')
/// - PLL Mode, NDIV = 24
/// - input frequency is 8 MHz
// FCLK runs at 2 times the frequency of PCLK.
SFR_PAGE(_su1, noSST); // switch to page1
CMCON = 0x10; // load Clock Control Register
SFR_PAGE(_su0, noSST); // switch to page0
/// *********************************************************************************
/// Note : All peripheral related IO configurations are done in the
/// respective peripheral modules (alternate functions selection)
/// *********************************************************************************
/// Initialization of module 'GPIO'
IO_vInit();
/// Initialization of module 'Timer 2'
T2_vInit();
/// Initialization of module 'Watch Dog Timer'
WDT_vInit();
/// Initialization of module 'Power Saving Modes'
PS_vInit();
/// Initialization of module 'MultiCAN Controller '
CAN_vInit();
/// Initialization of 'Shared interrupts'
SHINT_vInit();
// Interrupt Priority
IP = 0x00; // load Interrupt Priority Register
IPH = 0x00; // load Interrupt Priority High Register
IP1 = 0x00; // load Interrupt Priority 1 Register
IPH1 = 0x00; // load Interrupt Priority 1 High Register
// USER CODE BEGIN (MAIN_Init,3)
// USER CODE END
//// Interrupt structure 2 mode 0 is selected.
//// Interrupt service routine choice 2 is selected.
// globally enable interrupts
EA = 1;
} // End of function MAIN_vInit
//****************************************************************************
// @Function void main(void)
//
//----------------------------------------------------------------------------
// @Description This is the main function.
//
//----------------------------------------------------------------------------
// @Returnvalue None
//
//----------------------------------------------------------------------------
// @Parameters None
//
//----------------------------------------------------------------------------
// @Date 2025/1/18
//
//****************************************************************************
// USER CODE BEGIN (MAIN_Main,1)
// USER CODE END
void main(void)
{
// USER CODE BEGIN (MAIN_Main,2)
// ulong i,j;
// static ubyte tmp[8] = {0};
// for(j=0;j<200;j++){for(i=0;i<133;i++);}
// USER CODE END
MAIN_vInit();
// USER CODE BEGIN (MAIN_Main,3)
SCU_PAGE = 0;
SP = 0xC0; // Initialize Stack Pointer to 0xC0;
// CanTransmit();
// BM8563_InitTime();
// BM8563_Set4HourAlarm();//
KGF_PIN = 1;//KGF<47><46><EFBFBD><EFBFBD>
BATTERY_PIN = 1;
SetConfig(CFG_MPS_Single,CFG_Repeatbility_High);
// FlgCan_1 = 1;//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʱһ<CAB1><D2BB>ʱ<EFBFBD><CAB1><EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD>CAN<41><4E><EFBFBD><EFBFBD>
// USER CODE END
// 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>
// 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>
// }
//E3<45><33>ʼ<EFBFBD><CABC> 20251117
un_inf_can_kgf_output1.bit_data.KGF13 = 0x01; // <20><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>
un_inf_can_kgf_output2.bit_data.KGF01 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ1
un_inf_can_kgf_output2.bit_data.KGF02 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ2
un_inf_can_kgf_output2.bit_data.KGF03 = 0x01; // ң<><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
un_inf_can_kgf_output2.bit_data.KGF04 = 0x01; // E3<45><33>Դ
un_inf_can_kgf_output2.bit_data.KGF05 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ1
un_inf_can_kgf_output2.bit_data.KGF06 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ2
un_inf_can_kgf_output2.bit_data.KGF15 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ3
un_inf_can_kgf_output2.bit_data.KGF16 = 0x01; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ4
while(1)
{
// SwSample();
CanRXTX();
CanErrorProcess();
WDT_vRefresh();
// LedDr();
BootMain();
}
} // End of function main
// USER CODE BEGIN (MAIN_General,10)
// USER CODE END