// 10ms 타이머함수
void AGC_Ct_tech(void) // 마루커 2017-08-28 오후 4:34:19
{
static XDATA unsigned char AGC_Count;
static XDATA unsigned int Sync_Temp;
XDATA unsigned char Read_Sync;
static XDATA unsigned char Read_Sync_Old;
static XDATA unsigned char AGC_Level = 0;
static XDATA unsigned int Gain = 0;
Read_Sync = msReadByte_Bank(REG_BANK3_VBI, 0x75); // Sync
// Read_Sync = msReadByte_Bank(REG_BANK3_VBI, 0x77); // Burst
if(++AGC_Count >= 10)
{
AGC_Count = 0;
Read_Sync = Sync_Temp / 10;
Read_Sync = (Read_Sync + Read_Sync_Old) / 2;
Read_Sync_Old = Read_Sync;
Sync_Temp = 0;
if(Read_Sync > 75 && Read_Sync <= 100)
{
if(Gain > 0x3800)
{
;
}
else
{
Gain = 0x1000 + (0x0400 * AGC_Level);
VD_AGC_ResetGain(Gain);
AGC_Level++;
}
}
else if(Read_Sync < 60)
{
if(Gain <= 0x1000)
{
;
}
else
{
Gain = 0x3C00 - (0x0400 * (12 - AGC_Level));
AGC_Level--;
VD_AGC_ResetGain(Gain);
}
}
}
else
{
Sync_Temp += Read_Sync;
return;
}
#if 0
if(g_VdInfo.ucVideoSystem != SIG_NONE)
{
msOsdShow();
msOsdDrawNumber(0, 3, 5, Read_Sync); // g_SysSetting.DayNight
msOsdDrawNumber(0, 4, 5, AGC_Level); // g_SysSetting.DayNight
}
#endif
}
'개발메모 & 프로그램 > 모니터 - MST705' 카테고리의 다른 글
- DayNightHandler (0) | 2017.09.05 |
---|---|
- AGC 함수_2 (0) | 2017.09.01 |
- AGC 2 (0) | 2017.08.21 |
- AGC (0) | 2017.08.21 |
- Options for Target 'MST' (0) | 2017.07.23 |