⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commswitch.c

📁 此程序为DP256的SPI实验程序,已经通过实验证明
💻 C
📖 第 1 页 / 共 4 页
字号:
/*
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 + -