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

📄 cardinfo.c

📁 Discription: This multi-master driver provides the software interface to the I2C Bus hardware of th
💻 C
字号:
		 /*******************************************************************
 *
 *    DESCRIPTION:	cardInfo.c - module for reading and writing EEPROM
 *
 *    AUTHOR:			 O. Kessel-Deynet
 *
 *      Lightmaze AG    
 *
 *******************************************************************/

/** include files **/
#include "Types/Basetypes.h"
#include "i2c.h"
#include "CAN/LMSAStructs_Common.h"
#include <string.h>

// the following globals are set once at bootup and are constant afterwards, i.e. harmless
extern byte* entryAddrMIB[];
extern const char M16C_TagString[];
extern char FPGA_TagString[];

byte loadCardInfo(byte* pCardInfo, word devAdr, word num, byte eepromType)
{
	return readEEProm( 0, num, pCardInfo, devAdr, eepromType );
}

void checkSoftwareTag( byte *enablePort,byte enablePortMask, word devAdr, byte eepromType )
{
	if(strncmp((char *) entryAddrMIB[e_Cmn_M16CSoftwareTag], M16C_TagString + M16C_TAG_OFFSET, S_COMMON_M16C_SW_TAG))
	{
		strncpy((char *) entryAddrMIB[e_Cmn_M16CSoftwareTag], M16C_TagString + M16C_TAG_OFFSET, S_COMMON_M16C_SW_TAG);
		*enablePort &= ~enablePortMask;	// EEPROM Protect = 0
		writeEEProm( M16C_OFFSET, S_COMMON_M16C_SW_TAG, entryAddrMIB[e_Cmn_M16CSoftwareTag], devAdr, eepromType );
		*enablePort |= enablePortMask;	// EEPROM Protect = 1
	}
}

void checkFPGATag( byte *enablePort,byte enablePortMask, word devAdr, byte eepromType )
{
	if(strncmp((char *) entryAddrMIB[e_Cmn_FPGATag], FPGA_TagString, S_COMMON_FPGA_TAG))
	{
		strncpy((char *) entryAddrMIB[e_Cmn_FPGATag], FPGA_TagString, S_COMMON_FPGA_TAG);
		*enablePort &= ~enablePortMask;	// EEPROM Protect = 0
		writeEEProm( FPGA_OFFSET, S_COMMON_FPGA_TAG, entryAddrMIB[e_Cmn_FPGATag], devAdr, eepromType );
		*enablePort |= enablePortMask;	// EEPROM Protect = 1
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -