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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ver8f0.c

?? 三星數字高頻頭的驅動源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*

 version1.8-> 2.5
 new function ( Copy please )
 int CheckInversion()    : Checking I/Q Inverse or Not
  void Acquisition(float _Freq1, U32 _SymbolRate,
  S32 _QAMSize, FLAG _SpectrumInversion)
 : Simple Final Command include AutoSpectral Inversion
 void Check_Version()  : Checking I2C Read or IC version.
 modify program ( replace oldversion of newversion )
FLAG ROUTINE Driv0297CarrierSearch(SIGNAL  *_pSignal, FLAG _SpectrumInversion,
					S32 _SweepRate, S32 _CarrierOffset)
FLAG ROUTINE Driv0297DataSearch(SIGNAL *_pSignal, S32 _SweepRate, S32 _CarrierOffset,
				FLAG _SpectrumInversion, S32 _InitDemodOffset)

 read version
 read noise level
VERSION 2.5-> 3.0
abstract : Fast Acquisition.
 Adding Function : QAM_Init()
                 : Check_Lock()
delete function RegSetRegister()
                RegGetRegister()
		  RegTriggerOn(void)
		  RegTriggerOff(void)
		  RegGetTrigger(void)
		  RegSetTrigger(FLAG _Trigger)
 VERSION 3.0->3.2
 BER function insert   without R/S
double BlocksBertBER                   ;
double BlocksBERTSaturation            ;
void BertSaturationComputation(double _BERIndicator);
double BertCount(int _ErrMode)          ;
 function void SetSerialParallel(int _OutMode); : 1 parallel, 0 serial
 QAM128,QAM16 fast acquisition(), Driv0297CarrierSearch() are modified.
 delete NTSC PAL select.
 delete function QAM256_Init()
version 3.2->  3.4
Acquisition();
RegSetOneRegister(WBAGC_11,0xFE) ;
RegSetOneRegister(WBAGC_11,0xFF) ;
revision 256QAM -> SR 6.5Msps
Driv0297CarrierSearch(&MySignal,_SpectrumInversion,1000,-100);
->Driv0297CarrierSearch(&MySignal,_SpectrumInversion,1200,-200);

version 3.4-> 3.5
Write & Read  function adding.
Acquisition function change parameter for low symbol rate.
The customer which has used version3.4 recopy the Acquisition() function.
version 3.6
Adding Display function
void Show_Brief();
void Dump(float _Freq1, U32 _SymbolRate, S32 _QAMSize, FLAG _SpectrumInversion);
void Menu();
void Procedure();
adding Checking lock();
version 3.7b
kill flow Equalizer part Driv0297DataSearch-> see ver 3.7b
change parameter acquisition part
version 3.7c
This probram is copy of My desktop computer c:temp\autotestver3p7
it's only copy of Acquisition function

version 3.8
editing for 32QAM Low symbol 1Msps
	    256QAM Low symbol 1Msps
QAM64_REG CHANGE
adding auto define to fast acquisition.
version 4.0
Find bug QAM256 Lowsymbolrate case...
version 4.1
To get the faster acquisition.
Modify Time access velocity
to search type ver4p1
*/

#include "scr8f0.h"
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#define Mybug		1
#define NTSC		0 /* If PAL : 0 */
/* S32 I2cTempoValue = 50; */
void I2cTempo(void)
{
	U32 i;

	for ( i=0 ; i<I2cTempoValue ;i++ );
}

void I2cSetSDA(S32 level)
{
	outportb(prnDataAddress,(level==0) ? SDALOW : SDAHIGH);
}
U8 I2cGetSDA(void)
{
	return (inportb(prnStatusAddress) & SDALOW)==0 ? 0 : 1;
}
void I2cSetSCL(S32 level)
{
	outportb(prnControlAddress,level==0 ? SCLLOW : SCLHIGH);
	I2cTempo();
}
U8 I2cGetSCL(void)
{
	return (inportb(prnStatusAddress) & SCLHIGH)==0 ? 0 : 1;
}
void I2cSetAck(S32 level)
{
	if(level)
		I2cSetSDA(HIGH);
	else
		I2cSetSDA(LOW);

	I2cSetSCL(HIGH);
	I2cSetSCL(LOW);
}
U8 I2cGetAck()
{
	S32 val;

	I2cSetSCL(HIGH);
	val = !(ACK & I2cGetSDA());
	I2cSetSCL(LOW);

	return val;
}
void I2cWriteBit(S32 level)
{
	I2cSetSDA(level);
	I2cSetSCL(HIGH);
	I2cSetSCL(LOW);
}
U8 I2cReadBit(void)
{
	U8 bit;

	I2cSetSCL(HIGH);
	bit=I2cGetSDA();
	I2cSetSCL(LOW);

	return bit;
}
void I2cStart (void)
{
	I2cSetSDA(HIGH);
	I2cSetSCL(HIGH);
	I2cSetSDA(LOW);
	I2cSetSCL(LOW);
}
void I2cStop (void)
{
	I2cSetSDA(LOW);
	I2cSetSCL(HIGH);
	I2cSetSDA(HIGH);
}

/*
FUNCTION	::	I2cGetStatus
ACTION	::	Get the status of the I2C bus
PARAMS IN	::	NONE
PARAMS OUT::	NONE
RETURN	::	ACK SCL SDA =b111=0x7
*/
S32 I2cGetStatus(void)
{
	if(I2cGetSDA())
		I2cStatus |= SDA;
	else
		I2cStatus &= ~SDA;

	if(I2cGetSCL())
		I2cStatus |= SCL;
	else
		I2cStatus &= ~SCL;

	return(I2cStatus) ;
}
void I2cSetStatus(S32 _Status)
{
	I2cStatus = _Status ;
}
void I2cInit(S32 tempo)
{
	I2cPPortAddress     =   0x378 ;
	prnDataAddress  	= 	0x378;
	prnStatusAddress 	=	I2cPPortAddress  + 1     ;
	prnControlAddress	= 	I2cPPortAddress  +2      ;
	I2cSTVAddress       =   0x38   ;
	I2cStatus   = 0x07  ;
	NbI2CAccess = 0     ;
	I2cTempoValue = tempo;
}
/*
FUNCTION	::	I2cWriteByte
ACTION	::	Send a byte to the slave
PARAMS IN	::	data	->	the byte to be send
PARAMS OUT::	NONE
RETURN	::	NONE
*/
void I2cWriteByte(U8 data )
{
	U8 i;

	/*  Write 8 bits Data  */

	for (i=0 ;i<8 ;i++)
		I2cWriteBit((data<<i) & 0x80);
}

/*
FUNCTION	::	I2cReadByte
ACTION	::	Read a byte from the slave
PARAMS IN	::	NONE
PARAMS OUT::	NONE
RETURN	::	if error -1 else byte read
*/
U8 I2cReadByte(void)
{
	S8 i, valRet=0;

	/*  Read 8 bits data */
	I2cSetSDA(HIGH);	/*SDA must be set HIGH, because the slave just pull down the line*/

	for(i=7 ;i>=0 ;i--)
		valRet = valRet | (I2cReadBit()<<i);


	return valRet;
}
/*
FUNCTION	::	I2cWriteNBytes
ACTION	::	Send N bytes to the slave
PARAMS IN	::	NbBytes	->	Number of byte to send
				data	->	bytes to be send
PARAMS OUT::	NONE
RETURN	::	NONE
*/
void I2cWriteNBytes(S32 NbBytes, U8 *data)
{
	U8 b,B;

	/*  Write N bits Data  */

	for (B=0; B<NbBytes; B++)
		for (b=0; b<8; b++)
			I2cWriteBit((data[B]<<b) & 0x80);
}
/*
FUNCTION	::	I2cReadNBytes
ACTION	::	Read N bytes from the slave
PARAMS IN	::	NbBytes	-> Number of bytes to read
PARAMS OUT::	NONE
RETURN	::	NONE
*/
void I2cReadNBytes(S32 NbBytes, U8 *data)
{
	U8 b,B;

	/*  Read 8 bits data */

	I2cSetSDA(HIGH);	/*SDA must be set HIGH, because the slave just pull down the line */

	for (B=0; B<NbBytes; B++)
		for (b=0; b<8; b++)
			data[B] = data[B] | (I2cReadBit()<<b);
}

/*
FUNCTION	::	I2cReadWrite
ACTION	::	Read/write data from/to the slave
PARAMS IN	::	mode	->	READ or WRITE
				ChipAddress	->	I2C address of the chip
				Data	->	Buffer containing data to send
				NbData	->	Number of data to write/read
PARAMS OUT::	Data	->	Buffer containing data received
RETURN	::	if error -1 else communication state
*/
S32 I2cReadWrite(S32 mode,U8 ChipAddress,U8 *Data,S32 NbData)
{
	S8 i=0,ack;

	I2cStart();				/*Start the I2C sequence*/
	I2cWriteByte(ChipAddress+(mode==READ));	/*Send Slave chip address*/
	ack=I2cGetAck(); 			/*Read Acknowledge bit*/

	while((i<NbData) && ack)
	{
		if(mode==READ)
		{
			Data[i]=I2cReadByte();			/*Read data from the slave*/
			I2cSetAck(i==(NbData-1));		/*Write Acknowledge bit*/
		}
		else
		{
			I2cWriteByte(Data[i]);			/*Write data to the salve */
			ack=I2cGetAck();				/*Read Acknowledge bit*/
		}
		i++;
	}

	if(!ack)
	{
		if(mode==READ)
			for(i=0;i<NbData;i++)
				Data[i]=-1;
				
		return (-1);
	}

	I2cStop();								/*Stop the I2C sequence*/

	return 0;
}
/*#include "reg0297.h"
 ***AddReg  ************************************************************/
/*	Add a new register to the register map									 */
void AddReg(S32 Id,S8 * Name,S8 Address,S8 Reset)
{
	REGISTER *pReg;

	pReg=&RegMap[Id];

	pReg->Addr	= Address;
	pReg->Reset	= Reset;
	pReg->Value	= 0x00;
	strcpy(pReg->Name,Name);
}

/******** FieldCreateMask ****************************************************/
/*	Create the mask of the field according the informations store in the  	 */
/*	FIELD structure					*/
/*****************************************************************************/
U8 FieldCreateMask(S32 field)
{
	S32 i;
	U8 mask=0;

	/*Create mask*/
	for (i = 0; i < FieldMap[field].Bits; i++)
	{
		mask <<= 1 ;
		mask +=  1 ;
	}

	mask = mask << FieldMap[field].Pos;

	return mask;
}

/******** AddField  **********************************************************/
/*	Add a field to the field map											 */
/*****************************************************************************/
void AddField(S32 RegId, S32 FieldId,S8 * Name, S8 Pos, S8 NbBits, S8 Type)
{
	FIELD *pField;

	pField=&FieldMap[FieldId];

	strcpy(pField->Name,Name);
	pField->Reg=	RegId;
	pField->Pos=	Pos;
	pField->Bits=	NbBits;
	pField->Type=	Type;
	pField->Mask=	FieldCreateMask(FieldId);
}

/******** RegSetOneRegister **************************************************/
/*	Set Register value						*/
/*	INPUT :  data, register id					 */
/*****************************************************************************/
void RegSetOneRegister(S32 reg_id, U8 Data)
{
	U8 data[2],UCtmp=-1,ChipAddress;

	ChipAddress=0x38;

	data[0]=RegMap[reg_id].Addr;
	data[1]=Data;
		UCtmp=I2cReadWrite(WRITE,ChipAddress,data,2);
		RegNbI2cAccess += 1;
	RegMap[reg_id].Value=Data;

	return ;
}

/******** RegGetOneRegister **************************************************/
/*	Get Register value						*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色综合欧美就去吻| 欧美日韩一区二区三区四区五区| 日韩电影在线一区| 亚洲电影一区二区三区| 亚洲线精品一区二区三区八戒| 一区二区三区高清| 亚洲宅男天堂在线观看无病毒| 一区二区三国产精华液| 一个色综合av| 日韩va欧美va亚洲va久久| 日本不卡的三区四区五区| 久久国内精品视频| 高清不卡一区二区在线| 99久久伊人网影院| 欧美三级视频在线| 精品少妇一区二区三区日产乱码 | 久久九九99视频| 久久精品一二三| 成人欧美一区二区三区白人| 成人欧美一区二区三区| 午夜免费欧美电影| 国产一区二区导航在线播放| 成人小视频在线| 欧美日韩中文国产| 久久久久久日产精品| 综合分类小说区另类春色亚洲小说欧美| 尤物在线观看一区| 久久av中文字幕片| 色天使色偷偷av一区二区| 7777精品伊人久久久大香线蕉最新版| 精品电影一区二区| 亚洲人成影院在线观看| 蜜臀av性久久久久蜜臀aⅴ | 亚洲欧美另类久久久精品| 亚洲午夜激情网站| 国产成人精品www牛牛影视| 欧洲一区在线电影| 国产精品三级视频| 日本欧美一区二区| 99re在线视频这里只有精品| 欧美成人官网二区| 亚洲女厕所小便bbb| 激情综合网天天干| 欧美日韩在线直播| 成人欧美一区二区三区视频网页| 麻豆成人av在线| 91国偷自产一区二区三区观看| 精品免费日韩av| 同产精品九九九| 99re免费视频精品全部| 欧美精品一区二区在线播放| 亚洲色图.com| 国产一区二区导航在线播放| 欧美丰满少妇xxxxx高潮对白| 国产日韩欧美精品电影三级在线| 日本午夜精品一区二区三区电影| 91在线国产观看| 国产日韩v精品一区二区| 日日摸夜夜添夜夜添国产精品 | 精品国产乱码久久久久久夜甘婷婷| 亚洲少妇中出一区| 成人免费高清在线| 国产色产综合色产在线视频| 久久福利视频一区二区| 欧美男人的天堂一二区| 亚洲福利视频三区| 欧洲一区二区三区在线| 一卡二卡三卡日韩欧美| 91在线国产福利| 亚洲乱码国产乱码精品精的特点 | 欧美日韩一区三区四区| 一二三区精品视频| 91久久精品一区二区三| 亚洲欧美偷拍另类a∨色屁股| 国产91丝袜在线播放| 国产精品视频免费看| 成人av在线一区二区三区| 欧美高清在线精品一区| 99热这里都是精品| 一区二区三区**美女毛片| 欧美午夜视频网站| 日韩1区2区日韩1区2区| 日韩一二三四区| 国产精品一区二区在线看| 日本一区二区成人在线| 91社区在线播放| 亚洲一区二区三区免费视频| 欧美日韩国产美| 狠狠色综合日日| 中文字幕一区二区视频| 91麻豆123| 午夜精品久久久久久久久久| 日韩欧美在线网站| 国产精品亚洲午夜一区二区三区| 国产欧美中文在线| 欧美羞羞免费网站| 免费在线看一区| 国产精品素人视频| 欧美中文字幕不卡| 国产一区二区三区免费看| 国产精品福利影院| 欧美日韩一二三| 国产一区二区三区免费| 亚洲伦在线观看| 日韩精品一区国产麻豆| 成人深夜在线观看| 天堂蜜桃91精品| 中文字幕欧美区| 在线看日韩精品电影| 激情综合网最新| 亚洲午夜电影网| 国产日韩三级在线| 91精品在线观看入口| 99精品欧美一区二区三区小说| 亚洲综合精品久久| 日本一区二区三区在线不卡| 欧美日韩精品二区第二页| 高清av一区二区| 麻豆精品视频在线观看视频| 中文字幕一区av| 精品久久久久久亚洲综合网| 91蜜桃在线观看| 国产在线播放一区| 三级亚洲高清视频| 亚洲男人电影天堂| 国产清纯白嫩初高生在线观看91 | 国产清纯在线一区二区www| 欧美日韩午夜精品| 99re这里只有精品视频首页| 黑人精品欧美一区二区蜜桃| 图片区小说区国产精品视频| 综合色中文字幕| 国产精品三级av在线播放| 欧美一区二区福利在线| 欧美日韩精品系列| 欧美日韩亚洲丝袜制服| 色播五月激情综合网| 成+人+亚洲+综合天堂| 精品一区二区三区的国产在线播放| 亚洲成国产人片在线观看| 亚洲三级在线免费观看| 国产精品久久久久三级| 国产精品欧美久久久久无广告| 欧美精品一区二区三区高清aⅴ| 在线不卡一区二区| 在线精品国精品国产尤物884a| 成人小视频免费在线观看| 国产伦精品一区二区三区视频青涩| 蜜臀精品一区二区三区在线观看| 日韩国产欧美在线视频| 日韩电影免费在线| 日本欧洲一区二区| 麻豆免费精品视频| 久久99精品国产麻豆婷婷洗澡| 久久99精品一区二区三区| 久久66热偷产精品| 国产精品一区二区在线播放| 国产成人精品免费网站| 成人性视频免费网站| 91麻豆.com| 欧美色综合天天久久综合精品| 欧美系列在线观看| 欧美一级专区免费大片| 精品国产不卡一区二区三区| 久久久久久夜精品精品免费| 国产精品久久久久久久久免费丝袜 | 亚洲特黄一级片| 一区二区三区国产精品| 亚洲自拍偷拍九九九| 琪琪一区二区三区| 国产成人自拍网| 色综合久久66| 在线综合视频播放| 国产欧美日韩视频在线观看| 亚洲欧美韩国综合色| 日本亚洲免费观看| 成人在线视频首页| 欧美日韩国产综合一区二区三区| 欧美一级电影网站| 国产拍欧美日韩视频二区| 夜夜亚洲天天久久| 国产一区二区三区在线观看免费 | 亚洲国产精品精华液网站| 奇米影视一区二区三区| 成人在线一区二区三区| 欧美日韩美少妇| 国产欧美中文在线| 午夜伦欧美伦电影理论片| 高清不卡一区二区在线| 欧美久久久久久久久中文字幕| 久久天天做天天爱综合色| 亚洲一区在线观看免费观看电影高清| 麻豆视频一区二区| 91九色02白丝porn| 国产日韩欧美a| 免费看日韩a级影片| 日本高清成人免费播放| 国产三级三级三级精品8ⅰ区| 偷拍与自拍一区| 一本大道综合伊人精品热热 |