📄 tuner_lg_tapc_h701f.c
字号:
#include "tuner_LG_TAPC_H701F.h"
#include "reg51.h"
#include "common.h"
#include "TW803Reg.h"
#include "System.h"
//#include "SRC_ctrl.h"
#include "OSDCtrl.h"
#include "TwoWire.h"
#include "OSDDraw.h"
#include "NVRam.h"
#include "Remote.h"
#include "Keypad.h"
#include "Tuner.h"
#ifdef TV
#if (TUNER_AFC_CONTROL==ON)
BYTE Tuner_ReadStatus (void)
{
return ( TunerReadByte(TUNER_ADB) & 0x7 );
}
#endif
/* --------------------------------------------------------------------------
Function : Tuner_WriteFreq
Prupose : Write channel frequency and control command to tuner
Arguments : Bool afUpDn 0:Channel Up / 1:Channel Down
Returns : -- -- --
External : -- -- --
Notes :
-------------------------------------------------------------------------- */
void Tuner_WriteFreq(uDWORD ChFreq)
{
BYTE bBandPort;
BYTE bTemp[4];
//------- Check band type
if( ChFreq >= TUNER_H_BAND_MIN_FREQ ) // Check on the High band range
bBandPort = TUNER_BS_H_BAND ;
else if( ChFreq >= TUNER_M_BAND_MIN_FREQ ) // Check on the Mid band range
bBandPort = TUNER_BS_M_BAND ;
else // Check on the Low band range
bBandPort = TUNER_BS_L_BAND ;
bTemp[0] = mHIBYTE(ChFreq);
bTemp[1] = mLOBYTE(ChFreq);
bTemp[2] = TUNER_CB1;
bTemp[3] = bBandPort;
TunerWriteByte1(TUNER_ADB,(uCHAR)bTemp[0],(uCHAR)bTemp[1],bTemp[2],bTemp[3]);
}
/* --------------------------------------------------------------------------
Function : Tuner_AFC_Control
Prupose : Tuner AFC control function
Arguments : -- -- --
Returns : Bool -- Is fine tune success
External : -- -- --
Notes :
-------------------------------------------------------------------------- */
uWORD Tuner_AFC_Control(uDWORD ChFreq)
{
#if (TUNER_AFC_CONTROL==ON)
WORD OrignChFreq;
BYTE lbAFC_Cnt;
// ------------ Save frequency
OrignChFreq = ChFreq;
// ------------ Fine tune control
for (lbAFC_Cnt=0; lbAFC_Cnt < 7; lbAFC_Cnt++)
{
twdDelay(30);
switch( Tuner_ReadStatus() )
{
// -125.0 K
case 4:
ChFreq -= TUNER_FINETUNE_HIGH;
break;
// - 62.5 K
case 3:
ChFreq -= TUNER_FINETUNE_MID;
break;
// Center freqency
default:
case 2:
return ChFreq;
// + 62.5 K
case 1:
ChFreq += TUNER_FINETUNE_MID;
break;
// +125.0 K
case 0:
ChFreq += TUNER_FINETUNE_HIGH;
break;
}
Tuner_WriteFreq(ChFreq);
}
// ------------ Revocer frequency if AFC fail
Tuner_WriteFreq(OrignChFreq);
return FAILURE;
#else
return ChFreq;
#endif
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -