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

📄 ttext.c

📁 tw9910的驱动源码,来自techwell的FAE
💻 C
字号:
//////////////////////////////////////////////////////////////////////
//   Video Teletext 
//////////////////////////////////////////////////////////////////////

#include "Config.h"
#include "reg.h"
#include "typedefs.h"
#include "I2C.h"
#include "main.h"
#include "printf.h"
#include "ttext.h"
//#include "remo.h"

/* Eds.c */

#ifdef SUPPORT_TELETEXT


extern IDATA BYTE  TTToggle;

//////////////////////////////////////////////////////////////////////
//   Command Option 
//////////////////////////////////////////////////////////////////////

void CmdRemNo(BYTE RemoData)
{

	BYTE buf;
	BYTE Vdata[1];

	buf = ToNumber(RemoData) & 0x0f;

	if(buf == 0)
		Vdata[0] = 0x39;
  	else
		Vdata[0] = (buf | 0x30) - 0x01;

	WriteI2Cn(TEXTAddress, Vdata, 1);  
}


void TeleTextHPol(void)
{
	BYTE Vdata[4];

	Vdata[0] = 0xb3;
	Vdata[1] = 0xc1;
	Vdata[2] = 0xfd;
	Vdata[3] = 0x02;

	WriteI2Cn(TEXTAddress, Vdata, 4);  
}


void TeleTextVPol(void)
{
	BYTE Vdata[4];

	Vdata[0] = 0xb3;
	Vdata[1] = 0xc1;
	Vdata[2] = 0xfe;
	Vdata[3] = 0x01;

	WriteI2Cn(TEXTAddress, Vdata, 4);  
}

void TeleTextCancel(void)
{
	BYTE Vdata[1];
	
	TTToggle = (TTToggle & 0xfe) + ((TTToggle + 0x01) & 0x01);

	if((TTToggle & 0x01) == 0x01){
		Vdata[0] = 0x27;
		WriteI2Cn(TEXTAddress, Vdata, 1); 
	}
  	else{ 
		if((TTToggle & 0x02) == 0x02){
			Vdata[0] = 0x3e;
			WriteI2Cn(TEXTAddress, Vdata, 1);
 	  	}else{
			Vdata[0] = 0x3f;
			WriteI2Cn(TEXTAddress, Vdata, 1);
		}
	}

//	Printf("\r\n(Debug)Toggle : %2x",(WORD)TTToggle);

}


void TeleTextPos(BYTE Hpos, BYTE Vpos)
{
	BYTE Vdata[4];

	Vdata[0] = 0x48;
	Vdata[1] = 0x08;
	Vdata[2] = Hpos;
	Vdata[3] = Vpos;

	WriteI2Cn(TEXTAddress, Vdata, 4);  
}


void TeleTextON(void)
{
	BYTE Vdata[1];

	TTToggle = (TTToggle & 0xfd) + ((TTToggle + 0x02) & 0x02);

	if((TTToggle & 0x02) == 0x02){
		Vdata[0] = 0x3e;
		WriteI2Cn(TEXTAddress, Vdata, 1); 
	}
  	else{
		Vdata[0] = 0x3f;
		WriteI2Cn(TEXTAddress, Vdata, 1); 
	}

//	Printf("\r\n(Debug)Toggle : %2x",(WORD)TTToggle);

}
	

void TeleTextOFF(void)
{
	BYTE Vdata[1];

	TTToggle = (TTToggle & 0xfd) + ((TTToggle + 0x02) & 0x02);

	Vdata[0] = 0x03;
	WriteI2Cn(TEXTAddress, Vdata, 1);  
}
	
void TeleTextRed(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x20;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

void TeleTextGreen(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x21;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

void TeleTextYellow(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x22;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

void TeleTextCyan(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x3d;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}


void TeleTextHold(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x25;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

void TeleTextTime(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x07;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

void TeleTextSize(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x3a;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

void TeleTextIndex(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x28;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

void TeleTextMode(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x29;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

void TeleTextPageUp(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x3b;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}


void TeleTextPageDown(void)
{
	BYTE Vdata[1];

	Vdata[0] = 0x3c;
	WriteI2Cn(TEXTAddress, Vdata, 1);

}

#endif//SUPPORT_TELETEXT




⌨️ 快捷键说明

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