📄 osd2_cls.c
字号:
#include <reg51.h>
#include "common.h"
#include "Icon4BP12x12.h"
#include "OSD_def.h"
#include "OSD2_CLS.h"
void OSD2ClearSRam(void)
{
OSD2CfgWr(OSD_BLK_WRT_LSB,0x00);
OSD2CfgWr(OSD_BLK_WRT_MSB,0x00);
OSD2CfgWr(OSD_BLK_WRT_SADD_LSB,0x00);
OSD2CfgWr(OSD_BLK_WRT_SADD_MSB,0x00);
OSD2CfgWr(OSD_BLK_WRT_LENGTH,0xFF);
OSD2CfgWr(OSD_BLK_WRT_CTR,0x9F);
}
void OSD2Show4BPIcon(uCHAR *string,uCHAR x,uCHAR y,uCHAR cBlink,uCHAR HVScale,uCHAR Color, uCHAR MenuIndex,uCHAR bColor)
{
uCHAR Char= *(string+2);
uCHAR j,k;
uCHAR V;
if(MenuIndex == MENU1)
{
for(V=0; V<string[1];V++)
{
//~Set RAtt_C~//
OSD2SetRamAddr(OSD2Menu1StrAdr+(OSD2Menu1Width+4)*y+3);
if(bColor < 4)
OSD2SetRamData((((0x0000+HVScale)<<6)&0x03C0)|((0x0000+OSD2Menu1Width)&0x003F));
else
OSD2SetRamData((((0x0000+HVScale)<<6)&0x03C0)|((0x0000+OSD2Menu1Width)&0x003F)|0x0400);
OSD2SetRamAddr(OSD2Menu1StrAdr+(OSD2Menu1Width+4)*y+x+4);
//~Stuff Strings~//
j=0;
k=x;
while((k<OSD2Menu1Width)&&(j<string[0]))
{
if(Color)
OSD2SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)bColor<<14)|((uWORD)(Color&0x0F)<<9)|(Char++));
else
OSD2SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)bColor<<14)|((uWORD)(IconColorHighByte[Char]&0x0F)<<9)|(Char++));
k++;
j++;
}
y++;
}
}
}
void OSD2ClearMenu(uCHAR MenuIndex)
{
uCHAR i;
if(MenuIndex == MENU1)
{
for(i=0; i<OSD2Menu1Height; i++)
{
OSD2SetRamAddr(OSD2Menu1StrAdr+(OSD2Menu1Width+4)*i);
//~Set RAtt_V~//
if(i==0)
OSD2SetRamData(0x4000|OSD2Menu1StartY);
else
OSD2SetRamData(0xE001);
//~Set RAtt_H~//
OSD2SetRamData(0x6000|(OSD2Menu1StartX));
//~Set RAtt_A~//
OSD2SetRamData(0xD000|((uWORD)(0&0xF0)<<4));
//~Set RAtt_C~//
OSD2SetRamData(0x0000|(OSD2Menu1Width));
m_wBuff[0]=0;
while(m_wBuff[0]<OSD2Menu1Width)
{
OSD2SetRamData(0x0000|((uWORD)(0&0x0F)<<9)|(OSD2Blank));
m_wBuff[0]++;
}
}
}
else if(MenuIndex == MENU2)
{
for(i=0; i<OSD2Menu2Height; i++)
{
OSD2SetRamAddr(OSD2Menu2StrAdr+(OSD2Menu2Width+4)*i);
//~Set RAtt_V~//
if(i==0)
OSD2SetRamData(0x4000|OSD2Menu2StartY);
else
OSD2SetRamData(0xE001);
//~Set RAtt_H~//
OSD2SetRamData(0x6000|OSD2Menu2StartX);
//~Set RAtt_A~//
OSD2SetRamData(0xD000|((uWORD)(0&0xF0)<<4));
//~Set RAtt_C~//
OSD2SetRamData(0x0000|(OSD2Menu2Width));
m_wBuff[0]=0;
while(m_wBuff[0]<OSD2Menu2Width)
{
OSD2SetRamData(0x0000|((uWORD)(0&0x0F)<<9)|(OSD2Blank));
m_wBuff[0]++;
}
}
}
}
void OSD2Disp(uCHAR MENU1disp, uCHAR MENU2disp)
{
if(MENU1disp&0xF0)
OSD2CfgWr(OSD_MENU1_ENABLE,0x80);
else
OSD2CfgWr(OSD_MENU1_ENABLE,0x00);
if(MENU2disp&0xF0)
OSD2CfgWr(OSD_MENU2_ENABLE,0x80);
else
OSD2CfgWr(OSD_MENU2_ENABLE,0x00);
if((MENU1disp | MENU2disp)&0xF0)
OSD2CfgWr(OSD_CTRL,0x80);
else
OSD2CfgWr(OSD_CTRL,0x00);
I2CWriteByte(TW803_P0,0xE2,0x11);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -