亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? operateeeprom.c

?? 2808單相全橋spwm逆變工程.rar
?? C
字號:
#include "DSP280x_Device.h"     // DSP280x Headerfile Include File
#include "DSP280x_Examples.h"   // DSP280x Examples Include File

#include "CommonDefine.h"



void UserDelay(Uint16 Counter)
{
	Uint16 i;
	for(i=0;i<Counter;i++)
		asm("          NOP");

}



void StartEEPRom(void)
{

	SetEESDA;
	UserDelay(50);  // 1=10ns
	SetEESCL;
	UserDelay(50);
	ClrEESDA;
	UserDelay(100);
	ClrEESCL;	

}


void SetEEDataOut(void)
{
EALLOW;
//24c16 data: output
//	GpioDataRegs.GPBSET.bit.GPIO32=1;
//GpioCtrlRegs.GPBPUD.bit.GPIO32=0;  //enable pullup
	GpioCtrlRegs.GPBDIR.bit.GPIO32=1;
	GpioCtrlRegs.GPBCTRL.bit.QUALPRD0=0;
	GpioCtrlRegs.GPBQSEL1.bit.GPIO32=0;
EDIS;	
}


void SetEEDataIn(void)
{
//24c16 data: input
EALLOW;
//	GpioCtrlRegs.GPBPUD.bit.GPIO32=1;  //disable pullup
//	GpioDataRegs.GPBSET.bit.GPIO32=1;
	GpioCtrlRegs.GPBDIR.bit.GPIO32=0;  
	GpioCtrlRegs.GPBCTRL.bit.QUALPRD0=0x5;
	GpioCtrlRegs.GPBQSEL1.bit.GPIO32=2;
EDIS;
}

void WriteOneByte(Uint16 byte)
{

	Uint16 i;
	Uint16 Bit;

	Uint16 Shift24c16=0x80;

	UserDelay(5);
	for(i=0;i<ByteBits;i++)
		{
		Bit=byte&Shift24c16;
		if(Bit==0)  //bit=0
			ClrEESDA;
		else
			SetEESDA;
		UserDelay(15);
		SetEESCL;
		Shift24c16=Shift24c16>>1;
		UserDelay(100);
		ClrEESCL;		
		}
	Shift24c16=0x80;	

}


void ResponACKN(void)
{

		
	UserDelay(10);
	SetEESDA;
	UserDelay(10);
	SetEESCL;
	UserDelay(200);
	ClrEESCL;

}


void ResponseACK(void)
{


	SetEEDataOut();
	UserDelay(10);
	ClrEESDA;
	//SetEESDA;
	UserDelay(10);
	SetEESCL;
	UserDelay(30);
	ClrEESCL;
	
}

Uint32 ReadOneByte(void)
{

	Uint16 i;
	Uint32 PartByte;
	Uint32 TotalByte=0;  //就放在這個(gè)子程序中

	for(i=0;i<ByteBits;i++)
		{
	UserDelay(20);
	SetEESCL;
	UserDelay(20);
	//read bit
	PartByte=GpioDataRegs.GPBDAT.all;
	PartByte=PartByte&0x00000001;
	ClrEESCL;
	PartByte=PartByte<<(7-i);
	TotalByte+=PartByte;
	UserDelay(20);

		}

	return TotalByte;

}



void StopEEPRom(void)
{

	ClrEESCL;
	UserDelay(20);
	ClrEESDA;
	UserDelay(20);
	SetEESCL;
	UserDelay(20);
	SetEESDA;
	
}

//input: 1. eepromaddr:the first address of eeprom; readnumber: read number of eeprom 
void ReadEEPRom(Uint16 EEPRomAddr, Uint16 ReadNumber)
{


   Uint16  i;
 //  Uint16  Status;
  
 //  Uint32  Length;         // Number of 16-bit values to be programmed
 //  float32 Version;        // Version of the API in floating point
 //  Uint16  VersionHex;     // Version of the API in decimal encoded hex
   Uint32 HighByte;
   Uint32 MiddleByte;
   Uint32 LowByte;

   Uint32 TempReadVar[EEPROMNUMBER];


//prepare for reading 
	StartEEPRom();
	SetEEDataOut(); //set 24c16 data : output
	WriteOneByte(EEDeviceAddr); //set device: write
	ResponACKN();
	WriteOneByte(EEPRomAddr);
	ResponACKN();
	StartEEPRom();
	WriteOneByte(EEDeviceAddr+1); //set device: read
	ResponACKN();
	
//read,and save as array: TempReadVar[]
	for(i=0;i<ReadNumber-1;i++)
		{
		SetEEDataIn();
		TempReadVar[i]=ReadOneByte();
		ResponseACK();
		}
	if(i==ReadNumber-1)
		{
		SetEEDataIn();
		TempReadVar[i]=ReadOneByte();
		SetEEDataOut();
		}
//stop
	StopEEPRom();	
//deal	
/*	
	if((TempReadVar[0]>MinVolLpP)&(TempReadVar[0]<MaxVolLpP))
    		DefaultVolLpP=TempReadVar[0];
	else
		DefaultVolLpP=10;

	if((TempReadVar[1]>MinVolIFre)&(TempReadVar[1]<MaxVolIFre))
    		DefaultVolIFre=TempReadVar[1];
	else
		DefaultVolIFre=150;

	if((TempReadVar[2]>MinCurrLpP)&(TempReadVar[2]<MaxCurrLpP))
    		DefaultCurrLpP=TempReadVar[2];
	else
		DefaultCurrLpP=30;

	if((TempReadVar[3]>MinCurrIFre)&(TempReadVar[3]<MaxCurrIFre))
    		DefaultCurrIFre=TempReadVar[3];
	else
		DefaultCurrIFre=500;
	
	if((TempReadVar[4]>MinSwFreq)&(TempReadVar[4]<MaxSwFreq))
    		DefaultSwFreq=TempReadVar[4];
	else
		DefaultSwFreq=150;
	
	HighByte=TempReadVar[5];
	LowByte=TempReadVar[6];
	DefaultDcVol=(HighByte<<8)+LowByte;
	if((DefaultDcVol>MaxDcVol)||(DefaultDcVol<MinDcVol))
		DefaultDcVol=2600;
	
	HighByte=TempReadVar[7];
	MiddleByte=TempReadVar[8];
	LowByte=TempReadVar[9];
	DefaultCode=(HighByte<<16)+(MiddleByte<<8)+LowByte;
	/////////??????????????暫時(shí)沒有設(shè)置code
	DefaultCode=BackdoorCode;
*/	
	HighByte=TempReadVar[0];
	MiddleByte=TempReadVar[1];
	LowByte=TempReadVar[2];
	EnergyLed=(HighByte<<16)+(MiddleByte<<8)+LowByte;
	if(EnergyLed>999999)
		EnergyLed=0;

	
}




void WriteEEPRom(Uint16 EEPRomAddr, Uint16 WriteNumber, Uint16 *EEBuffer)
{

   Uint16  i;
   Uint16 Status;

/*
	FlashBuffer[0]=(Uint16)DefaultVolLpP;
	FlashBuffer[1]=(Uint16)DefaultVolLpI;
	FlashBuffer[2]=(Uint16)DefaultCurrLpP;
	FlashBuffer[3]=(Uint16)DefaultCurrLpI;
	FlashBuffer[4]=(Uint16)DefaultSwFreq;
	
	FlashBuffer[5]=((Uint16)DefaultDcVol&0xff00)>>8; // high byte(8bit) of dc vol
	FlashBuffer[6]=(Uint16)DefaultDcVol&0x00ff;  //low byte (8bit) of dc vol

	FlashBuffer[7]=(Uint16)((DefaultCode&0x00ff0000)>>16);  //flashbuffer[7]: high bit of securecode 
	FlashBuffer[8]=(Uint16)((DefaultCode&0x0000ff00)>>8); //flashbuffer[8]: middle bit of securecode
	FlashBuffer[9]=(Uint16)(DefaultCode&0x000000ff);//flashbuffer[9]: low bit of securecode
*/	   
//prepare for writing 
	StartEEPRom();
	SetEEDataOut(); //set 24c16 data : output
	WriteOneByte(EEDeviceAddr); //set device: write
	ResponACKN();
	WriteOneByte(EEPRomAddr);
	ResponACKN();

//write,and save as eepromaddr
	for(i=0;i<WriteNumber;i++)
		{
		WriteOneByte(*(EEBuffer+i)); 
		ResponACKN();
		}

	StopEEPRom();

//verify	
//    Status = VerifyEEPRom();  ????????????????????????
//    if(Status != 1) // 1 represents success; 0 represents verify failed
//    {
//        Example_Error(Status);
//    }            
   


}


/*
void VerifyEEPRom(Uint16 EEPRomAddr, Uint16 ReadNumber);
{
    Uint16  ii;
 //  Uint16  Status;
  
 //  Uint32  Length;         // Number of 16-bit values to be programmed
 //  float32 Version;        // Version of the API in floating point
 //  Uint16  VersionHex;     // Version of the API in decimal encoded hex

   Uint32 TempReadVar[10];

//prepare for reading 
	StartEEPRom();
	SetEEDataOut(); //set 24c16 data : output
	WriteOneByte(EEDeviceAddr); //set device: write
	ResponACKN();
	WriteOneByte(EEPRomAddr);
	ResponACKN();
	StartEEPRom();
	WriteOneByte(EEDeviceAddr+1); //set device: read
	ResponACKN();
//read,and save as array: TempReadVar[]
	for(ii=0;ii<ReadNumber;ii++)
		{
		SetEEDataIn();
		TempReadVar[ii]=ReadOneByte();
		ResponseACK();
		}
//stop
	StopEEPRom();	

//comparison
	for(ii=0;ii<ReadNumber;ii++)
		{
		if(TempReadVar[ii]!=FlashBuffer[ii])
			return 0;
		}
	return 1;
}
*/

void WriteEnergy(void)
{
	Uint16 TempVar[EEPROMNUMBER];
	if(EnergyAddOne==1)  //add one degree
		{
		EnergyAddOne=0;
		TempVar[0]=(Uint16)((EnergyLed&0x00ff0000)>>16); 
		TempVar[1]=(Uint16)((EnergyLed&0x0000ff00)>>8);
		TempVar[2]=(Uint16)(EnergyLed&0x000000ff);
		
		WriteEEPRom(0x0a, EEPROMNUMBER, TempVar);
			
		}
}
/*
void InitEEContent(void)
{
		FlashBuffer[0]=(Uint16)DefaultVolLpP;
		FlashBuffer[1]=(Uint16)DefaultVolIFre;
		FlashBuffer[2]=(Uint16)DefaultCurrLpP;
		FlashBuffer[3]=(Uint16)DefaultCurrIFre;
		FlashBuffer[4]=(Uint16)DefaultSwFreq;
	
		FlashBuffer[5]=((Uint16)DefaultDcVol&0xff00)>>8; // high byte(8bit) of dc vol
		FlashBuffer[6]=(Uint16)DefaultDcVol&0x00ff;  //low byte (8bit) of dc vol

		FlashBuffer[7]=(Uint16)((DefaultCode&0x00ff0000)>>16);  //flashbuffer[7]: high bit of securecode 
		FlashBuffer[8]=(Uint16)((DefaultCode&0x0000ff00)>>8); //flashbuffer[8]: middle bit of securecode
		FlashBuffer[9]=(Uint16)(DefaultCode&0x000000ff);//flashbuffer[9]: low bit of securecode

		FlashBuffer[10]=(Uint16)((EnergyLed&0x00ff0000)>>16);  //flashbuffer[7]: high bit of securecode 
		FlashBuffer[11]=(Uint16)((EnergyLed&0x0000ff00)>>8); //flashbuffer[8]: middle bit of securecode
		FlashBuffer[12]=(Uint16)(EnergyLed&0x000000ff);//flashbuffer[9]: low bit of securecode

}

*/

/*------------------------------------------------------------------
  For this example, if an error is found just stop here
-----------------------------------------------------------------*/
#pragma CODE_SECTION(Example_Error,"ramfuncs");
void Example_Error(Uint16 Status)
{

//  Error code will be in the AL register. 
    asm("    ESTOP0");
    asm("    SB 0, UNC");
}




?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频在线观看| 亚洲精品视频在线看| 欧美精品在线观看播放| 91丨九色丨黑人外教| 成人av第一页| 不卡电影免费在线播放一区| 国产九色精品成人porny| 精品亚洲国内自在自线福利| 久久精品国产99| 美女高潮久久久| 久久精品国产77777蜜臀| 麻豆精品一区二区三区| 麻豆成人91精品二区三区| 青椒成人免费视频| 美女任你摸久久| 国产又黄又大久久| 国产风韵犹存在线视精品| 风流少妇一区二区| 成人国产精品视频| 一本久久精品一区二区| 91国产免费观看| 欧美日韩一区二区在线视频| 欧美日韩精品一区二区三区蜜桃| 欧美三级资源在线| 欧美一区二区三区在线电影| 欧美成人在线直播| 国产欧美日韩不卡| 成人免费在线视频| 亚洲成人激情av| 欧美96一区二区免费视频| 韩国成人在线视频| 成人久久视频在线观看| 色美美综合视频| 欧美高清视频一二三区| 2022国产精品视频| 1024成人网| 午夜视频一区二区三区| 狠狠色狠狠色综合系列| av激情综合网| 欧美欧美欧美欧美首页| 欧美日韩在线综合| 精品88久久久久88久久久| 国产精品青草综合久久久久99| 亚洲激情校园春色| 免费的国产精品| 成人白浆超碰人人人人| 欧美午夜电影网| 精品国产伦一区二区三区观看方式 | 欧美丰满一区二区免费视频| 日韩情涩欧美日韩视频| 国产精品毛片久久久久久| 亚洲亚洲精品在线观看| 精品无码三级在线观看视频| 91丝袜高跟美女视频| 日韩精品专区在线影院重磅| 中文字幕一区二区三中文字幕| 日韩成人一级片| 成人av在线资源| 91精品国产欧美一区二区成人| 中文字幕欧美激情一区| 日韩高清欧美激情| 99精品视频免费在线观看| 日韩女优av电影| 一区二区三区四区中文字幕| 狠狠色狠狠色综合| 欧美日本国产视频| 国产精品三级在线观看| 免费成人美女在线观看.| 97se亚洲国产综合在线| 26uuu另类欧美| 亚洲成av人在线观看| 99免费精品在线| 精品福利一区二区三区| 亚洲成人在线网站| 不卡一区二区三区四区| 精品久久久久久无| 五月激情丁香一区二区三区| 91在线观看高清| 国产欧美日韩视频一区二区| 美女www一区二区| 欧美色网站导航| 亚洲欧洲精品一区二区精品久久久| 蜜臀av亚洲一区中文字幕| 在线影视一区二区三区| 国产精品美女一区二区三区 | 亚洲欧美福利一区二区| 国产精品18久久久久久久网站| 91精品国产aⅴ一区二区| 亚洲一二三专区| 97精品久久久久中文字幕 | 亚洲韩国精品一区| 成人激情文学综合网| 久久久亚洲高清| 麻豆成人在线观看| 日韩欧美亚洲另类制服综合在线| 亚洲福利电影网| 在线观看国产一区二区| 亚洲免费毛片网站| 99免费精品视频| 国产精品久久二区二区| 国产激情视频一区二区在线观看 | 欧美日韩欧美一区二区| 亚洲精品美国一| 色综合天天做天天爱| 1024成人网色www| 99久久精品99国产精品| 国产精品传媒入口麻豆| 波多野结衣视频一区| 国产精品福利电影一区二区三区四区| 国产精品白丝av| 国产女同性恋一区二区| 高清久久久久久| 中文字幕欧美国产| zzijzzij亚洲日本少妇熟睡| 中文字幕在线观看一区二区| aaa欧美大片| 亚洲视频一区在线| 欧美亚洲高清一区| 日韩精品色哟哟| 日韩视频永久免费| 国产精品综合视频| 国产日韩欧美在线一区| 成人免费精品视频| 亚洲激情校园春色| 欧美色图第一页| 欧美aa在线视频| 久久精品一区二区三区四区| 不卡的电影网站| 亚洲激情图片一区| 欧美一区欧美二区| 国产一级精品在线| 亚洲欧洲美洲综合色网| 欧美亚洲国产bt| 久久精品国产亚洲aⅴ| 久久久久久久久久久久电影 | 亚洲成av人片在线观看无码| 6080国产精品一区二区| 久久爱另类一区二区小说| 国产日本欧洲亚洲| 91丨porny丨国产| 午夜精品免费在线观看| 26uuu国产电影一区二区| 成人激情动漫在线观看| 一卡二卡欧美日韩| 欧美va亚洲va在线观看蝴蝶网| 国产成人av一区二区三区在线观看| 亚洲日本在线a| 91精品国产入口| 国产综合色精品一区二区三区| 国产精品久99| 欧美高清视频一二三区| 国产中文字幕一区| 中文字幕字幕中文在线中不卡视频| 欧美日产在线观看| 国产成人在线影院| 亚洲影院免费观看| 久久久国际精品| 在线免费av一区| 国产毛片精品国产一区二区三区| 亚洲人成在线播放网站岛国| 日韩一区二区影院| 99国产精品99久久久久久| 日韩成人一区二区三区在线观看| 中文字幕av在线一区二区三区| 欧美日韩精品一区二区三区四区 | 色哟哟在线观看一区二区三区| 蜜桃久久久久久久| 亚洲免费三区一区二区| 精品国产免费一区二区三区四区| 色综合久久天天综合网| 国产毛片精品视频| 日韩国产精品久久| 最新国产成人在线观看| 337p日本欧洲亚洲大胆色噜噜| 一本一道久久a久久精品综合蜜臀| 麻豆中文一区二区| 亚洲午夜精品17c| 国产精品乱码人人做人人爱 | 在线观看91视频| 风间由美一区二区三区在线观看 | 国产不卡免费视频| 日本不卡一区二区三区高清视频| 中文字幕一区二区三区av| 精品欧美乱码久久久久久| 欧美主播一区二区三区| 成人美女在线观看| 狠狠色狠狠色综合日日91app| 五月婷婷综合激情| 亚洲精品久久久久久国产精华液| 久久久久88色偷偷免费| 日韩欧美视频在线| 欧美日韩亚洲综合| 91免费在线看| 成人精品gif动图一区| 国产成人免费视频网站| 精品在线播放免费| 麻豆91在线观看| 日本欧美韩国一区三区| 午夜精品免费在线| 午夜精品久久久久久久久|