📄 osd1_cls.c
字号:
#include <reg51.h>
#include "common.h"
#include "OSD_def.h"
#include "OSD1_CLS.h"
void OSD1ClearSRam(void)
{
OSD1CfgWr(OSD_BLK_WRT_LSB,0x00);
OSD1CfgWr(OSD_BLK_WRT_MSB,0x00);
OSD1CfgWr(OSD_BLK_WRT_SADD_LSB,0x00);
OSD1CfgWr(OSD_BLK_WRT_SADD_MSB,0x00);
OSD1CfgWr(OSD_BLK_WRT_LENGTH,0xFF);
OSD1CfgWr(OSD_BLK_WRT_CTR,0x9F);
}
void OSD1ClearLine(uCHAR x,uCHAR y,uCHAR HVScale,uCHAR MenuIndex)
{
uCHAR k=0;
if(MenuIndex == MENU1)
{
//~Set RAtt_C~//
OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+3);
OSD1SetRamData(((0x0000+HVScale)<<6)|(OSD1Menu1Width));
OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+x+4);
k=x;
while(k<OSD1Menu1Width)
{
OSD1SetRamData(0x0000|((uWORD)(0&0x0F)<<9)|(OSD1Blank));
k++;
}
}
}
void OSD1ClearMenu(uCHAR MenuIndex)
{
uCHAR i;
if(MenuIndex == MENU1)
{
for(i = 0; i < OSD1Menu1Height; i++)
{
OSD1ClearLine(0,i,0,MENU1);
}
}
}
void OSD1ShowLine(uCHAR *string,uCHAR x,uCHAR y,uCHAR cBlink,uCHAR HVScale,uCHAR MenuIndex,uCHAR cColor)
{
uCHAR *pString= string;
uCHAR k;
k=0;
if(MenuIndex == MENU1)
{
//~Set RAtt_C~//
OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+3);
OSD1SetRamData(((0x0000+HVScale)<<6)|(OSD1Menu1Width));
OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+x+4);
k=x;
//~Stuff Strings~//
while(((*pString) != EOL)&&(k<OSD1Menu1Width))
{
OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(cColor&0x0f)<<9)|(*pString++));
k++;
}
while(k<OSD1Menu1Width)
{
OSD1SetRamData(0x0000|((uWORD)(0&0x0F)<<9)|(0));
k++;
}
y++;
}
}
void OSD1PutChar(uCHAR cChar,uCHAR x,uCHAR y,uCHAR cBlink,uCHAR HVScale,uCHAR MenuIndex,uCHAR cColor)
{
uCHAR k;
k=0;
if(MenuIndex == MENU1)
{
//~Set RAtt_C~//
OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+3);
OSD1SetRamData(((0x0000+HVScale)<<6)|(OSD1Menu1Width));
OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+x+4);
k=x;
//~Stuff Strings~//
OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(cColor&0x0f)<<9)|(cChar));
k++;
while(k<OSD1Menu1Width)
{
OSD1SetRamData(0x0000|((uWORD)(0&0x0F)<<9)|(OSD1Blank));
k++;
}
y++;
}
}
void OSD1Disp(uCHAR MENU1disp, uCHAR MENU2disp)
{
if(MENU1disp&0xF0)
OSD1CfgWr(OSD_MENU1_ENABLE,0x80);
else
OSD1CfgWr(OSD_MENU1_ENABLE,0x00);
if(MENU2disp&0xF0)
OSD1CfgWr(OSD_MENU2_ENABLE,0x80);
else
OSD1CfgWr(OSD_MENU2_ENABLE,0x00);
if((MENU1disp | MENU2disp)&0xF0)
OSD1CfgWr(OSD_CTRL,0x80);
else
OSD1CfgWr(OSD_CTRL,0x00);
I2CWriteByte(TW803_P0,0xE2,0x11);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -