第一次提交

This commit is contained in:
2025-07-05 21:24:38 +08:00
commit baade62d46
48 changed files with 31255 additions and 0 deletions

333
IO.C Normal file
View File

@@ -0,0 +1,333 @@
//****************************************************************************
// @Module GPIO
// @Filename IO.C
// @Project CL2.0.dav
//----------------------------------------------------------------------------
// @Controller Infineon XC886CLM-8FF
//
// @Compiler Keil
//
// @Codegenerator 1.3
//
// @Description: This file contains functions that use the IO module.
//
//----------------------------------------------------------------------------
// @Date 2024/8/22 08:23:14
//
//****************************************************************************
// USER CODE BEGIN (IO_General,1)
// USER CODE END
//****************************************************************************
// @Project Includes
//****************************************************************************
#include "MAIN.H"
// USER CODE BEGIN (IO_General,2)
// USER CODE END
//****************************************************************************
// @Macros
//****************************************************************************
// USER CODE BEGIN (IO_General,3)
// USER CODE END
//****************************************************************************
// @Defines
//****************************************************************************
// USER CODE BEGIN (IO_General,4)
// USER CODE END
//****************************************************************************
// @Typedefs
//****************************************************************************
// USER CODE BEGIN (IO_General,5)
// USER CODE END
//****************************************************************************
// @Imported Global Variables
//****************************************************************************
// USER CODE BEGIN (IO_General,6)
// USER CODE END
//****************************************************************************
// @Global Variables
//****************************************************************************
// USER CODE BEGIN (IO_General,7)
// USER CODE END
//****************************************************************************
// @External Prototypes
//****************************************************************************
// USER CODE BEGIN (IO_General,8)
// USER CODE END
//****************************************************************************
// @Prototypes Of Local Functions
//****************************************************************************
// USER CODE BEGIN (IO_General,9)
// USER CODE END
//****************************************************************************
// @Function void IO_vInit(void)
//
//----------------------------------------------------------------------------
// @Description This is the initialization function of the IO function
// library. It is assumed that the SFRs used by this library
// are in their reset state.
//
//----------------------------------------------------------------------------
// @Returnvalue None
//
//----------------------------------------------------------------------------
// @Parameters None
//
//----------------------------------------------------------------------------
// @Date 2024/8/22
//
//****************************************************************************
// USER CODE BEGIN (IO_Init,1)
// USER CODE END
void IO_vInit(void)
{
// USER CODE BEGIN (IO_Init,2)
ubyte i = 0;
// ubyte j = 0;
// USER CODE END
/// ***********************************************************************
/// Note : All peripheral related IO configurations are done in the
/// respective peripheral modules (alternate functions selection)
///
/// If no pins are selected DAvE assumes that registers are in default
/// settings
/// ***********************************************************************
/// -----------------------------------------------------------------------
/// Configuration of Port P0:
/// -----------------------------------------------------------------------
/// P0.0:
/// - is used as general input
/// - pull-down device is assigned
/// P0.1:
/// - is used as general purpose output
/// - push/pull output is selected
/// - the pin status is low level
/// - pull-down device is assigned
/// P0.2:
/// - is used as general input
/// - pull-down device is assigned
/// P0.3:
/// - is used as general purpose output
/// - push/pull output is selected
/// - the pin status is low level
/// - pull-down device is assigned
/// P0.5:
/// - is used as general input
/// - pull device is disabled (tristate)
/// P0.7:
/// - is used as general purpose output
/// - push/pull output is selected
/// - the pin status is low level
/// - pull-down device is assigned
SFR_PAGE(_pp1, noSST); // switch to page 1
P0_PUDSEL = 0x70; // load pullup/pulldown select register
P0_PUDEN = 0xCF; // load pullup/pulldown enable register
SFR_PAGE(_pp0, noSST); // switch to page 0
P0_DIR = 0x8A; // load direction register
/// -----------------------------------------------------------------------
/// Configuration of Port P1:
/// -----------------------------------------------------------------------
/// P1.0:
/// - is used as alternate input for the MCAN Node 0 Receiver Input
/// - pull-up device is assigned
/// P1.1:
/// - is used as alternate output for the MCAN Node 0 Transmitter Output
/// - push/pull output is selected
/// - pull-up device is assigned
/// P1.2:
/// - is used as general input
/// - pull-down device is assigned
/// P1.3:
/// - is used as general input
/// - pull-down device is assigned
/// P1.4:
/// - is used as general input
/// - pull-down device is assigned
/// P1.5:
/// - is used as general input
/// - pull-down device is assigned
/// P1.7:
/// - is used as general input
/// - pull-down device is assigned
SFR_PAGE(_pp1, noSST); // switch to page 1
P1_PUDSEL = 0x43; // load pullup/pulldown select register
/// -----------------------------------------------------------------------
/// Configuration of Port P2:
/// -----------------------------------------------------------------------
/// P2.0:
/// - is used as general input
/// - input driver is enabled
/// - pull device is disabled (tristate)
/// P2.1:
/// - is used as general input
/// - input driver is enabled
/// - pull device is disabled (tristate)
/// P2.3:
/// - is used as general input
/// - input driver is enabled
/// - pull device is disabled (tristate)
/// P2.4:
/// - is used as general input
/// - input driver is enabled
/// - pull-up device is assigned
/// P2.5:
/// - is used as general input
/// - input driver is enabled
/// - pull-up device is assigned
P2_PUDEN = 0x30; // load pullup/pulldown enable register
/// -----------------------------------------------------------------------
/// Configuration of Port P3:
/// -----------------------------------------------------------------------
/// P3.0:
/// - is used as alternate output for the Output of Capture/Compare
/// channel 0
/// - push/pull output is selected
/// - pull-up device is assigned
/// P3.1:
/// - is used as alternate output for the Output of Capture/Compare
/// channel 2
/// - push/pull output is selected
/// - pull-up device is assigned
P3_PUDSEL = 0xBF; // load pullup/pulldown select register
P3_PUDEN = 0x03; // load pullup/pulldown enable register
/// -----------------------------------------------------------------------
/// Configuration of Port P4:
/// -----------------------------------------------------------------------
/// P4.0:
/// - is used as general input
/// - pull-down device is assigned
/// P4.1:
/// - is used as general purpose output
/// - push/pull output is selected
/// - the pin status is low level
/// - pull-down device is assigned
/// P4.3:
/// - is used as general input
/// - pull-down device is assigned
SFR_PAGE(_pp1, noSST); // switch to page 1
P4_PUDSEL = 0x00; // load pullup/pulldown select register
P4_PUDEN = 0x0B; // load pullup/pulldown enable register
SFR_PAGE(_pp0, noSST); // switch to page 0
P4_DIR = 0x02; // load direction register
// USER CODE BEGIN (IO_Init,3)
if((0x55 != RestartDataFlg1) || (0x55 != RestartDataFlg2))//ֻҪ<D6BB><D2AA>һ<EFBFBD><D2BB>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>˵<EFBFBD><CBB5>Ϊ<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
{
for(i=0;i<8;i++)//0xF5E8~0xF5FF
{
UnInfCan_1.ArrData.Arr[0][i] = 0;
UnInfCan_1.ArrData.ArrRX[0][i] = 0;
UnInfCan_1.ArrData.ArrRX[1][i] = 0;
}
RestartDataFlg1 = 0x55;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ֵΪ0x55 0xF5E7
RestartDataFlg2 = 0x55;//<2F><>ַ0xF600
dfOut_01 = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD>ϵ磬<CFB5><E7A3AC>ʼ<EFBFBD><CABC>
dfOut_02 = 0;
dfOut_03 = 0;
dfOut_04 = 0;
dfOut_05 = 0;
dfOut_06 = 0;
dfOut_07 = 0;
dfOut_08 = 0;
dfOut_09 = 0;
dfOut_10 = 0;
dfOut_11 = 0;
dfOut_12 = 0;
dfOut_13 = 0;
dfOut_14 = 0;
dfOut_15 = 0;
dfOut_16 = 0;
RestartDataKGF = 0;
}
else//<2F><><EFBFBD><EFBFBD>,IO<49>ھͻָ<CDBB>
{
dfOut_01 = (bit)(RestartDataKGF&0x0001); //20210906<30>ָ<EFBFBD>IO<49><4F>״̬ <20><><EFBFBD><EFBFBD>KGF<47><46><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD> ע<><D7A2>ubyteתΪbit<69><74><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8>ݸ<EFBFBD>ֵΪ0<CEAA><30>ȡ0<C8A1><30>Ϊ1<CEAA><31>ȡ1
dfOut_02 = (bit)((RestartDataKGF >> 1)&0x0001);
dfOut_03 = (bit)((RestartDataKGF >> 2)&0x0001);
dfOut_04 = (bit)((RestartDataKGF >> 3)&0x0001);
dfOut_05 = (bit)((RestartDataKGF >> 4)&0x0001);
dfOut_06 = (bit)((RestartDataKGF >> 5)&0x0001);
dfOut_07 = (bit)((RestartDataKGF >> 6)&0x0001);
dfOut_08 = (bit)((RestartDataKGF >> 7)&0x0001);
dfOut_09 = (bit)((RestartDataKGF >> 8)&0x0001);
dfOut_10 = (bit)((RestartDataKGF >> 9)&0x0001);
dfOut_11 = (bit)((RestartDataKGF >> 10)&0x0001);
dfOut_12 = (bit)((RestartDataKGF >> 11)&0x0001);
dfOut_13 = (bit)((RestartDataKGF >> 12)&0x0001);
dfOut_14 = (bit)((RestartDataKGF >> 13)&0x0001);
dfOut_15 = (bit)((RestartDataKGF >> 14)&0x0001);
dfOut_16 = (bit)((RestartDataKGF >> 15)&0x0001);
}
// USER CODE END
} // End of function IO_vInit
// USER CODE BEGIN (IO_General,10)
// USER CODE END