📄 commswitch.c
字号:
/*
Modified by wang junpeng, 11th, july, 2005
Contents: function MC33993_Data_Processing is update
*/
#define COMMBOSWITCH_GLOBALS
#include "LIN_Header.h"
#if MC33993_SP0_EN == 1
const unsigned char MC33993_tiSP0Debounce_C = 20;
#endif
#if MC33993_SP1_EN == 1
const unsigned char MC33993_tiSP1Debounce_C = 20;
#endif
#if MC33993_SP2_EN == 1
const unsigned char MC33993_tiSP2Debounce_C = 20;
#endif
#if MC33993_SP3_EN == 1
const unsigned char MC33993_tiSP3Debounce_C = 20;
#endif
#if MC33993_SP4_EN == 1
const unsigned char MC33993_tiSP4Debounce_C = 20;
#endif
#if MC33993_SP5_EN == 1
const unsigned char MC33993_tiSP5Debounce_C = 20;
#endif
#if MC33993_SP6_EN == 1
const unsigned char MC33993_tiSP6Debounce_C = 20;
#endif
#if MC33993_SP7_EN == 1
const unsigned char MC33993_tiSP7Debounce_C = 20;
#endif
#if MC33993_SG0_EN == 1
const unsigned char MC33993_tiSG0Debounce_C = 20;
#endif
#if MC33993_SG1_EN == 1
const unsigned char MC33993_tiSG1Debounce_C = 20;
#endif
#if MC33993_SG2_EN == 1
const unsigned char MC33993_tiSG2Debounce_C = 20;
#endif
#if MC33993_SG3_EN == 1
const unsigned char MC33993_tiSG3Debounce_C = 20;
#endif
#if MC33993_SG4_EN == 1
const unsigned char MC33993_tiSG4Debounce_C = 20;
#endif
#if MC33993_SG5_EN == 1
const unsigned char MC33993_tiSG5Debounce_C = 20;
#endif
#if MC33993_SG6_EN == 1
const unsigned char MC33993_tiSG6Debounce_C = 20;
#endif
#if MC33993_SG7_EN == 1
const unsigned char MC33993_tiSG7Debounce_C = 20;
#endif
#if MC33993_SG8_EN == 1
const unsigned char MC33993_tiSG8Debounce_C = 20;
#endif
#if MC33993_SG9_EN == 1
const unsigned char MC33993_tiSG9Debounce_C = 20;
#endif
#if MC33993_SG10_EN == 1
const unsigned char MC33993_tiSG10Debounce_C = 20;
#endif
#if MC33993_SG11_EN == 1
const unsigned char MC33993_tiSG11Debounce_C = 20;
#endif
#if MC33993_SG12_EN == 1
const unsigned char MC33993_tiSG12Debounce_C = 20;
#endif
#if MC33993_SG13_EN == 1
const unsigned char MC33993_tiSG13Debounce_C = 20;
#endif
/************************************
*Function Name: MC33993_Setting
*Parameter: bSetting,
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SPx Pin input mode settings
*
**************************************/
void MC33993_Setting(unsigned char bSetting)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bSetting;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SETTING;
SPI_Start(3);
}
/************************************
*Function Name: MC33993_SP_Interrupt
*Parameter: bEn
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SPx Pin interrupt settings
*
**************************************/
void MC33993_SP_Interrupt(unsigned char bEn)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bEn;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SP_INT;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_SG_Interrupt
*Parameter: bEn
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SGx Pin interrupt settings
*
**************************************/
void MC33993_SG_Interrupt(unsigned char bLow, unsigned char bHigh)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bLow;
SPI_Tx_Buf[MC33993_DATA_HIGH] = bHigh;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SG_INT;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_SP_Metallic
*Parameter: bEn
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SPx Pin metallic settings
*
**************************************/
void MC33993_SP_Metallic(unsigned char bEn)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bEn;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SP_META;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_SG_Metallic
*Parameter: bEn
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SGx Pin metallic settings
*
**************************************/
void MC33993_SG_Metallic(unsigned char bLow, unsigned char bHigh)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bLow;
SPI_Tx_Buf[MC33993_DATA_HIGH] = bHigh;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SG_META;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_SP_Wet
*Parameter: bEn
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SPx Pin wet current settings
*
**************************************/
void MC33993_SP_Wet(unsigned char bEn)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bEn;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SP_WET;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_SG_Wet
*Parameter: bEn
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SGx Pin wet current settings
*
**************************************/
void MC33993_SG_Wet(unsigned char bLow, unsigned char bHigh)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bLow;
SPI_Tx_Buf[MC33993_DATA_HIGH] = bHigh;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SG_WET;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_SP_Tri
*Parameter: bEn
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SPx Pin Tri-State settings
*
**************************************/
void MC33993_SP_Tri(unsigned char bEn)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bEn;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SP_TRI;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_SG_Tri
*Parameter: bEn
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: SGx Pin Tri-State settings
*
**************************************/
void MC33993_SG_Tri(unsigned char bLow, unsigned char bHigh)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bLow;
SPI_Tx_Buf[MC33993_DATA_HIGH] = bHigh;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SG_TRI;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_Analog_Sel
*Parameter: bSel
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: Select SXx Pin as Analog out put
*
**************************************/
void MC33993_Analog_Sel(unsigned char bSel, unsigned char bCurrent)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bSel + bCurrent;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_AN;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_Calibration
*Parameter: NONE
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: Calibration SXx Timers
*
**************************************/
void MC33993_Calibration(void)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = 0xff;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_CALIBRATION;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_Reset
*Parameter: NONE
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: Reset MC33993
*
**************************************/
void MC33993_Reset(void)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = 0xff;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_RESET;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
}
/************************************
*Function Name: MC33993_Sleep
*Parameter: bSetting
*Orignator: Wang junpeng
*Date: 2nd, June, 2005
*Discription: Command MC33993 enter sleep mode
*
**************************************/
void MC33993_Sleep(unsigned char bSetting)
{
SPI_Tx_Buf[MC33993_DATA_LOW] = bSetting;
SPI_Tx_Buf[MC33993_DATA_HIGH] = 0xff;
SPI_Tx_Buf[MC33993_CMD_INDEX] = MC33993_CMD_SLEEP;
#if SPI_INT_SEL == MC33993_INT_ENABLE
SPI_Start(3);
#endif
#if SPI_INT_SEL == MC33993_INT_DISABLE
MC33993_Pool();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -