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

📄 parameter.c

📁 PIC串口程序  可以帮助你编写串口程序  里面还有我自己做的协议 很方便
💻 C
字号:
#include "..\includes\includes.h"




INT8U readOledParam(void)
{	INT8U crc;
	INT8U n;
	for (n=0;n<2;n++)
	{	oledGain=EEPROM_READ(VGA_GAIN_ADDR+(n*16));
		oledOffset=EEPROM_READ(VGA_OFFSET_ADDR+(n*16));
		crc=oledGain+oledOffset;
		if (crc==EEPROM_READ(PARAM_CRC_ADDR+(n*16)))
			return (TRUE);
	}
	return (FALSE);
}

void saveOledParam(void)
{
	INT8U n;
	INT8U crc;
	if (memBlockType==0)
	{	memBlockType=1;
		 n=1;
	}	
	else 
	{	memBlockType=0;
		n=0;
	}
	crc=oledOffset+oledGain;
	while (WR)	;
	EEPROM_WRITE(VGA_GAIN_ADDR+(n*16),oledGain);
	while (WR)	;
	EEPROM_WRITE(VGA_OFFSET_ADDR+(n*16),oledOffset);
	while (WR)	;
   	EEPROM_WRITE(PARAM_CRC_ADDR+(n*16),crc);
} 


void saveOledDefaultParam(void)
{	
	oledGain =_OLED_GAIN;
	oledOffset =_OLED_OFFSET;
	memBlockType=0;
	saveOledParam();
	saveOledParam();
}   


INT8U checkOledParamAvailable(void)
{	INT8U flag;
	flag =TRUE;
	if (!((oledGain>=MIN_GAIN)&&(oledGain<=MAX_GAIN)))
	{	flag =FALSE;	}	
	if (!((oledOffset>=MIN_OFFSET)&&(oledOffset<=MAX_OFFSET)))
	{	flag =FALSE;	}
	return flag;	
}		


void loadDefaultParam(void)
{	
    oledGray =_OLED_GRAY;
	oledGain =_OLED_GAIN;
	memBlockType=0;
 	if (EEPROM_READ(INIT_FLAG_ADDR)!=_EEPROM_INIT_OK)
 	{	saveOledDefaultParam();
 		while (WR);
 		EEPROM_WRITE(INIT_FLAG_ADDR,_EEPROM_INIT_OK);
 	}
 	else	
 	{	if (readOledParam()==FALSE)
			saveOledDefaultParam();
		else if (checkOledParamAvailable()==FALSE)
			saveOledDefaultParam(); 	
 	}
}

⌨️ 快捷键说明

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