⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osd1_initial.cx

📁 T103的开发程序 能兼容很多屏 可根据需要修改定义
💻 CX
字号:
#include "Common.h"
#include "Global.h"
#include "ICControl.h"	
#include "System.h"
#include "TWICreg.h"
#include "OSD1_Define.h"
//#include "FONT0_Font12W18H.h"
#include "Font12x12.h"

uCHAR code cOSDMenuLutData[32]={
    //0xGB, 0x0R
    0x00,0x00, //0
    0x0f,0x00, //1 blue
    0x00,0x00, //2 black
    0x0f,0x0a, //3 purple
    0x0f,0x00, //4 blue
    0xf8,0x00, //5 green
    0x22,0x0A, //6 red
    0x1f,0x01, //7 light blue//olive
    0x88,0x05, //8 light grey
    0xb9,0x0b, //9 purple
    0xBD,0x05, //A purple
    0x0f,0x0f, //B 
    0xA3,0x0A, //C Yellow
    0xcc,0x0c, //D light grey
    0x68,0x03, //E Light Blue Main Menu Background or 0x79, 0x04 which is a litter light
    0xff,0x0f, //F white
};
void OSD1LoadColor(void)
{
	uCHAR i;
	IC_WritByte(TWIC_P0,OSD_CFG_INDEX,OSD_LUT_RAM_DATA);
  	for(i=0;i<32;i++)
		IC_WritByte(TWIC_P0,OSD_CFG_DATA,cOSDMenuLutData[i]);

}
void OSD1InitCleanLine(uCHAR x,uCHAR y,uCHAR cColor,uCHAR cLength)
{
	if((x < OSD_LENGTH) && ( y < OSD_LINE_NUM))
  	{
  		OSD1SetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 6)+x);
     	while((x < OSD_LENGTH) && (x < cLength))
     	{
			IC_WritByte(TWIC_P0,OSD_RAM_DL,0x20);
			IC_WritByte(TWIC_P0,OSD_RAM_DL,cColor);
        	x++;
     	}
	}
}

void OSD1Init(void)
{					  	
	OSD1CfgSet(OSD1_CTRL,0x00);             			     //disable osd and width*1
	OSD1CfgSet(CHAR_DLY_1,0x02);
	OSD1CfgSet(CHAR_DLY_2,0x00);
	OSD1SetRamAddr(FONT_DATA_START_ADDRESS);
	OSD1CfgSet(CHAR_FONT_SIZE,FONT_SIZE);
	OSD1CfgSet(CHAR_RAM_BASE_A,CHAR_MAIN_MENU_START);    //To setup character index start address.
 	                                                     //If start address is 0x9c0,
 	                                                     //You have get ((0x9c0 >> 5) & 0x7f) to store it
	OSD1CfgSet(CHAR_RAM_END_A,CHAR_RAM_END);             //This is to set index end address.
  	OSD1CfgSet(BLINK_CTRL,0x09);
	OSD1CfgSet(CHAR_RAM_CTRL,0x20);
    OSD1CfgSet(ALPHA_BLD_CTRL,0x83);  
	OSD1CfgSet(FONTROM_IND_BASE,FONT_ROM_INDEX_BASE);     
	OSD1LoadColor();  
	OSD1SetRamAddr(FONT_DATA_START_ADDRESS); 
	for(m_wBuff[1]=0; m_wBuff[1]<TOTAL_FONT_NUM; m_wBuff[1]++)
	{ 	
		for(m_wBuff[0]=0; m_wBuff[0]<FONT_HEIGHT; m_wBuff[0]++)
		{
			IC_WritByte(TWIC_P0,OSD_RAM_DL,AllFonts[m_wBuff[1]][m_wBuff[0]*2]);
			IC_WritByte(TWIC_P0,OSD_RAM_DL,AllFonts[m_wBuff[1]][m_wBuff[0]*2+1]);
		}			   
	}
	for(m_wBuff[0]=(TOTAL_FONT_NUM)*FONT_HEIGHT; m_wBuff[0]<Clean_RAM_END; m_wBuff[0]++)
	{
		IC_WritByte(TWIC_P0,OSD_RAM_DL,0x00);
		IC_WritByte(TWIC_P0,OSD_RAM_DL,0x00);	
	}

	for(m_wBuff[0]=0;m_wBuff[0]<OSD_LINE_NUM;m_wBuff[0]++)
	{
		OSD1InitCleanLine(0,m_wBuff[0],0,OSD_LENGTH);
		//Set Line Attribute
		OSD1SetRamAddr(MENU_RAM_START_ADDRESS+(m_wBuff[0] << 6)+OSD_LENGTH+1);
		IC_WritByte(TWIC_P0,OSD_RAM_DL,0x00);
		IC_WritByte(TWIC_P0,OSD_RAM_DL,0x80);
	}
	IC_WritByte(TWIC_P0,0xE2,0x11);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -