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

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

?? main.c

?? 湯姆遜公司的高頻頭872x系列的驅動 C語言編寫
?? C
?? 第 1 頁 / 共 5 頁
字號:
        STTUNER_J83_ALL    = 0xFF,
        STTUNER_J83_A      = 1,
        STTUNER_J83_B      = (1 << 1),
        STTUNER_J83_C      = (1 << 2)
    }
STTUNER_J83_t;

typedef struct
{
    D0297_SignalType_t      State;

    long Frequency;
    long SymbolRate;
    long RollOff;   
    long TunerOffset;
    long TunerBW;
    long TunerIF;

    short int Direction;
}
D0297_SearchParams_t;

typedef struct
{
    D0297_SignalType_t      SignalType;
    long                    Frequency;
    long                    SymbolRate; 
    STTUNER_Modulation_t    QAMSize;
}
D0297_Searchresult_t;

typedef struct
{
    int                     CarrierOffset;
    int                     TimingOffset;
    int                     lastAGC2Coef;
    int                     ScanMode;
    /**/
    STTUNER_Modulation_t    QAMSize;
    STTUNER_Spectrum_t      SpectrumInversion;
    STTUNER_J83_t           J83;
    int                     SweepRate;
    long                    InitDemodOffset;
    /**/

    D0297_SearchParams_t Params;
    D0297_Searchresult_t Result;

    /**/
    int                     Ber[3];             /* 0 : Ber Cnt
                                                   1 : Ber Saturation en %
                                                   2 : Ber
                                                   */
    int                     CNdB;               /* In dB */
    int                     SignalQuality;      /* SignalQuality from 0 to 100 % */

    U16                     BlkCounter;
    U16                     CorrBlk;
    U16                     UncorrBlk;

} 
D0297_StateBlockb_t;


#if 0
/*####################################################*/
/* defined by Li */
/* 讀取MT2040的一個寄存器,基地址0xC0,address 為子地址*/
void STI2C2040_READ(unsigned char address,unsigned char* data,unsigned char number);
/*寫MT2040的一個寄存器*/
void STI2C2040_WRITE(unsigned char address,,unsigned char* data,unsigned char number);
/*寫ST0297的一個寄存器,該寄存器索引為index,在DeviceMap中
找到其對應的子地址,基地址為0x38*/
void STI2C0297_WRITE(int index,unsigned char data);
/*讀取0297的一個寄存器,該寄存器索引為index*/
unsigned  char STI2C0297_READ(int index);
/*讀取0297的某個域,該域索引為field,在DeviceMap中定義了該域的
所在寄存器,位數及位置*/
int STI2C0297_GETFIELD(int field);
/*設置0297的一個域*/
void STI2C0297_SETFIELD(int field,unsigned char data);
/*將0297中的所有寄存器用其對應的reset value全寫一遍*/
void STI2C0297_Reload(void);/*reload all 0297 registers by reset value */
/*延時函數,以毫秒為單位*/
void DAVINCIEVM_waitusec(long time);/*unit by millisecond*/
/*#################################################*/
#endif
/*Globel variables*/
//static STI2C_Handle_t I2CHandle0297;
//static STI2C_Handle_t I2CHandle2040;
 D0297_StateBlockb_t *StateBlock;
//const unsigned int TCDRV_MT_VCO_FREQSb[5] = { 1890000,    /*  VCO 1 lower limit*/
//                                    1720000,    /*  VCO 2 lower limit*/
//                                    1530000,    /*  VCO 3 lower limit*/
//                                    1370000,    /*  VCO 4 lower limit*/
 //                                   0   };      /*  VCO 5 lower limit*/
static U8 IOBuffer[4];
STTUNER_IOREG_DeviceMapb_t *DeviceMap;
const long TCDRV_MT_PKENRANGEb = 400000;     /* 400 MHz */
const int acQAMSizeMapConstb [ 5 ] =
	{
        STTUNER_MOD_16QAM  /*= (1 << 3)*/,
        STTUNER_MOD_32QAM  /*= (1 << 4)*/,
        STTUNER_MOD_64QAM  /*= (1 << 5)*/,
        STTUNER_MOD_128QAM /*= (1 << 6)*/,
        STTUNER_MOD_256QAM /*= (1 << 7)*/
 	 };


//extern ST_Partition_t    *SystemPartition;
//extern ST_ErrorCode_t I2C_ReadWrite   (void *I2CHandle, STTUNER_IOARCH_Operation_t Operation, U16 SubAddr, U8 *Data, U32 TransferSize, U32 Timeout);
//void task_lock (void);

/* debug */
/* Function definition */

void STI2C0297_WRITE(U8 RegIndex, U8 Value)
{
      U8 cmd[2];

	  int i; 
	  
	  cmd[0] =DeviceMap->RegMap[RegIndex].Address ;	// 8-bit Register Address
	  
	  cmd[1] = Value;	// 8-bit Register Data 
	  
	  i=DAVINCIEVM_I2C_write1( STV0297_I2C_ADDR, cmd, 2 );

      //i= DAVINCIEVM_I2C_write( 0x20, cmd, 1 );

      printf("0297_write_is %d     0x%x = 0x%x    \n",i,cmd[0],cmd[1]);
	  
      DeviceMap->RegMap[RegIndex].Value = Value;   /* update local copy as well */
    
}


U8 STI2C0297_READ(U8 RegIndex)
{  
    U8 cmd[2];
	
	int i;

    cmd[0] = DeviceMap->RegMap[RegIndex].Address;	// 8-bit Register Address
    
    cmd[1] = 0; 		// 8-bit Register Data

	i=DAVINCIEVM_I2C_write1( STV0297_I2C_ADDR, cmd, 1 );
    
	//i=DAVINCIEVM_I2C_write( STV0297_I2C_ADDR, cmd, 0 );

    printf("0297_write_is %d      0x%x  \n",i,cmd[0]);
	
    i=DAVINCIEVM_I2C_read1 ( STV0297_I2C_ADDR, cmd, 1 );

	printf("0297_read_is %d  0x%x   \n",i,cmd[0]);
	
	DeviceMap->RegMap[RegIndex].Value = cmd[0];
	
    return cmd[0];
	
}

void ST0297_FieldSetVal(U8 FieldIndex, U8 Value)
{
    STTUNER_IOREG_Fieldb_t *Field;

    Field = &DeviceMap->FieldMap[FieldIndex];

    if(Field->Type == FIELD_TYPE_SIGNED)
    {
        Value = (Value > 0 ) ? Value : Value + (1 << Field->Bits);	/*	compute signed fieldval	*/
    }
    
    Value = Field->Mask & (Value << Field->Pos);	/*	Shift and mask value */

    /*	Concat register value and fieldval */
    DeviceMap->RegMap[Field->Reg].Value = ( DeviceMap->RegMap[Field->Reg].Value & (~Field->Mask) ) + Value;

}

void  STI2C0297_SETFIELD(U8 FieldIndex, U8 Value)
{

    STTUNER_IOREG_Fieldb_t *Field;
	
    Field = &DeviceMap->FieldMap[FieldIndex];

    STI2C0297_READ(Field->Reg); /* read device register */

    ST0297_FieldSetVal(FieldIndex, Value);    /*	Compute new RegMap value */

    STI2C0297_WRITE(Field->Reg, DeviceMap->RegMap[Field->Reg].Value );  /*	Write the register */

   
}

U8  ST0297_FieldGetVal(U8 FieldIndex)
{

    U8 Value;
    STTUNER_IOREG_Fieldb_t *Field;

    Field = &DeviceMap->FieldMap[FieldIndex];

    /*	Extract field */
    Value = ( (DeviceMap->RegMap[Field->Reg].Value & Field->Mask) >> Field->Pos);

    if( (Field->Type == FIELD_TYPE_SIGNED) && ( Value >= (1 << (Field->Bits-1)) ) )
    {
        Value = Value - (1 << Field->Bits); /* Compute signed values */
    }    
    return(Value);
}

U8 STI2C0297_GETFIELD(U8 FieldIndex)
{

    U8 Value;

    STI2C0297_READ(DeviceMap->FieldMap[FieldIndex].Reg); /* read device register */
    
    Value = ST0297_FieldGetVal(FieldIndex);
	
    return(Value);
}

void STI2C0297_Reload(void)
{   
     U8 index;
     printf ("enter  STI2C0297_Reload....\n");      
     for (index = 0; index < DeviceMap->Registers; index++)
            
                STI2C0297_WRITE(index, DeviceMap->RegMap[index].ResetValue);
                
}

void  TUNER_WRITE(U8 reg1, U8 reg2,U8 reg3,U8 reg4)
	{	
		   U8 cmd[4];

		   int i;
			/* enable repeater */
		   STI2C0297_SETFIELD(F0297_I2CT_EN, 1);
			
		//  i=STI2C0297_GETFIELD(F0297_I2CT_EN);
        //   printf("i=      0x%x    \n",i);
			
		  	cmd[0] = reg1;	// 8-bit Register Address
	     	cmd[1] = reg2;
	    	cmd[2] = reg3;
	    	cmd[3] = reg4;
          // DAVINCIEVM_I2C_write( TUNER_I2C_ADDR, cmd, 2 );
	
           i=DAVINCIEVM_I2C_write1( TUNER_I2C_ADDR, cmd, 4 );

		  printf("2040_write1....%d  0x%x  0x%x  0x%x  0x%x\n",i,cmd[0],cmd[1],cmd[2],cmd[3]);
		  // i=DAVINCIEVM_I2C_write( 0x20, cmd, 1 );

		 // printf("tuner_write2_is  %d     0x%x = 0x%x    \n",i,cmd[0],cmd[1]);
			
	}
 


U8  TUNER_READ(U8 SubAddr)
	{    
	      U8 cmd[2];

		  int i;
	     /* enable repeater  */
		 STI2C0297_SETFIELD(F0297_I2CT_EN, 1);
			
		 cmd[0] = SubAddr ;	 // 8-bit Register Address
		 
		 cmd[1] = 0;		 // 8-bit Register Data

		 //DAVINCIEVM_I2C_write( TUNER_I2C_ADDR, cmd, 1 );
	 
		 //i=DAVINCIEVM_I2C_write( TUNER_I2C_ADDR, cmd, 0 );

		 //printf("tuner_write_is  %d    0x%x \n",i,cmd[0]);
		 
		 i=DAVINCIEVM_I2C_read1 ( TUNER_I2C_ADDR, cmd, 1 );

		 printf("tuner_read_is  %d   0x%x   \n",i,cmd[0]);
	 
		 return cmd[0];
		
	}




void STTUNER_IOREG_AddRegb(U8 RegIndex, U8 Address, U8 ResetValue)
{

    DeviceMap->RegMap[RegIndex].Address    = Address;
    printf("address is  %d   0x%x   0x%x \n",RegIndex,Address,DeviceMap->RegMap[RegIndex].Address   );
    DeviceMap->RegMap[RegIndex].ResetValue = ResetValue;
    DeviceMap->RegMap[RegIndex].Value      = 0;  	
   	  
}

U8 IOREG_FieldCreateMaskb(STTUNER_IOREG_Fieldb_t *Field)
{
    U8 i;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久午夜片 | 亚洲欧美一区二区三区极速播放| 日韩精品一区二区三区中文不卡| 欧美日韩中文字幕精品| 91福利精品视频| 色噜噜狠狠色综合中国| 日本精品视频一区二区三区| 欧美在线视频日韩| 欧美专区亚洲专区| 欧美精品在线视频| 欧美电影免费观看高清完整版在线| 欧美一区二区三区日韩| 欧美videos大乳护士334| www激情久久| 日本一区二区视频在线观看| 综合激情网...| 亚洲综合自拍偷拍| 视频一区视频二区中文| 久久99国产精品免费网站| 国产精品一卡二卡| 97久久精品人人爽人人爽蜜臀| 欧美曰成人黄网| 欧美一区二区三区日韩视频| 久久综合色婷婷| 国产精品区一区二区三| 亚洲图片自拍偷拍| 美女精品自拍一二三四| 国产 日韩 欧美大片| 91国内精品野花午夜精品| 欧美一区二区在线不卡| 久久久精品tv| 亚洲精品免费在线| 视频在线观看国产精品| 国产乱码精品一区二区三区av| 成人白浆超碰人人人人| 欧美日韩一级大片网址| 久久综合色综合88| 一区二区三区在线观看动漫| 免费国产亚洲视频| 成人午夜电影网站| 欧美日韩国产经典色站一区二区三区| 欧美一区二区三区四区五区| 日本一区二区视频在线观看| 亚洲一区在线播放| 美女视频黄久久| 99精品久久久久久| 日韩一区二区三区电影| 国产精品视频一二| 视频在线观看国产精品| 成人污污视频在线观看| 7777女厕盗摄久久久| 国产日韩欧美一区二区三区综合| 一区二区不卡在线视频 午夜欧美不卡在| 日本免费新一区视频| 成人综合在线视频| 91精品在线麻豆| 中文字幕欧美一| 开心九九激情九九欧美日韩精美视频电影| 国产成人亚洲综合a∨婷婷| 欧美午夜电影一区| 中文字幕乱码久久午夜不卡 | 99久久久免费精品国产一区二区| 制服丝袜在线91| 亚洲免费伊人电影| 国产成人在线观看免费网站| 欧美一区二区三区在线观看| 亚洲精品国产品国语在线app| 精品影视av免费| 欧美久久久久中文字幕| 一区二区三区四区视频精品免费| 狠狠色伊人亚洲综合成人| 欧美丝袜丝交足nylons图片| 欧美激情一区不卡| 国产一区二区导航在线播放| 91精品国产综合久久久久久久 | 亚洲国产岛国毛片在线| 美国欧美日韩国产在线播放| 欧美性极品少妇| 亚洲欧美在线aaa| 国产69精品久久99不卡| 2020国产精品| 奇米四色…亚洲| 欧美色图激情小说| 亚洲日本护士毛茸茸| 大白屁股一区二区视频| 国产亲近乱来精品视频| 国产精品综合在线视频| 欧美成人一区二区三区片免费| 亚洲第一激情av| 日本电影欧美片| 亚洲人成人一区二区在线观看| 国产一区二区三区av电影| 欧美一区二区三区四区五区| 亚洲成人午夜电影| 欧美日韩专区在线| 亚洲国产精品久久久久婷婷884| 色狠狠一区二区三区香蕉| 亚洲天堂免费在线观看视频| 成人精品国产免费网站| 欧美激情在线看| 成人午夜精品在线| 亚洲欧洲国产专区| 91免费在线视频观看| 亚洲乱码日产精品bd| 色悠悠久久综合| 亚洲一线二线三线视频| 欧美性生活一区| 亚洲国产精品一区二区www在线| 欧美亚洲尤物久久| 亚洲va在线va天堂| 欧美日本国产视频| 久久精品免费观看| 久久久久久一二三区| 东方欧美亚洲色图在线| 国产精品久久久久毛片软件| 色综合天天天天做夜夜夜夜做| 亚洲天堂中文字幕| 欧美日韩一级黄| 青青草精品视频| 久久亚洲综合av| 9i在线看片成人免费| 一区二区国产视频| 宅男在线国产精品| 国产在线视频一区二区三区| 国产三级精品三级| 91精品91久久久中77777| 亚洲丰满少妇videoshd| 日韩欧美成人激情| 波多野结衣欧美| 亚洲一区二区三区视频在线播放| 欧美一区二区网站| 国产aⅴ综合色| 夜夜嗨av一区二区三区中文字幕 | 久久久久亚洲综合| 99国产精品久久久久久久久久| 亚洲国产日韩综合久久精品| 91精品国产欧美一区二区18| 国产精品一区二区男女羞羞无遮挡| 亚洲欧洲精品一区二区三区不卡| 欧美日韩精品系列| 麻豆成人av在线| 亚洲欧美自拍偷拍色图| 制服.丝袜.亚洲.另类.中文| 国产成人免费网站| 亚洲一区二区三区中文字幕在线 | 国产资源在线一区| 亚洲欧美区自拍先锋| 日韩欧美专区在线| www.在线欧美| 久久精品久久久精品美女| 综合在线观看色| 日韩精品一区二区三区视频播放 | 欧美在线视频日韩| 韩国精品在线观看| 亚洲一区二区三区四区五区中文 | 蜜臀av性久久久久蜜臀av麻豆| 国产欧美精品一区| 51精品国自产在线| 91在线观看视频| 精久久久久久久久久久| 亚洲综合另类小说| 欧美极品aⅴ影院| 日韩色在线观看| 91免费版pro下载短视频| 蜜乳av一区二区三区| 亚洲免费电影在线| 久久久久国产免费免费| 欧美人牲a欧美精品| 97精品视频在线观看自产线路二| 精品一区二区三区免费视频| 一区二区三区欧美视频| 欧美国产日韩一二三区| 欧美一级黄色片| 色一情一乱一乱一91av| 粉嫩嫩av羞羞动漫久久久| 男女男精品视频| 亚洲一区视频在线| 最新成人av在线| 国产亚洲成av人在线观看导航| 91精品国产综合久久精品图片| 91电影在线观看| 不卡一区二区在线| 福利一区在线观看| 韩国中文字幕2020精品| 奇米精品一区二区三区在线观看 | 亚洲激情校园春色| 国产精品色呦呦| 久久精品一区二区| 精品美女被调教视频大全网站| 欧美丰满少妇xxxbbb| 欧美日韩综合色| 在线国产亚洲欧美| 色天使色偷偷av一区二区| 99久久精品国产网站| 国产99久久久国产精品潘金| 国产精品一区二区无线| 国产成人在线视频播放| 国产成人一区在线| 国产99久久久精品| 成人夜色视频网站在线观看|