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

📄 tv.c

📁 采用32位嵌入式芯片SPCE3200(凌阳)设计的开发板,具有多媒体功能。其中包含了网络、SD卡、TV、UART等是全部十个C程序。
💻 C
字号:
// =============================================================
// 文件名称:TV.c
// 功能描述: TV初始化
// 维护记录: 2007-9-22 by chengju modify
//			 2007-11-16 by liuxue modified
// =============================================================

#include "SPCE3200_Constant.h"
#include "SPCE3200_Register.h"
#include "TV.h"

// =============================================================
// 语法格式:	void TV_Init(unsigned int Mode, unsigned int ColorModeIN,
//							unsigned int FB1_Addr, unsigned int FB2_Addr, unsigned int FB3_Addr);
// 实现功能:	TV的初始化,TV帧缓冲地址的设置,TV模式的设置
// 参数:		MODE:							VGA 或者 QVGA;
//				ColorModeIN:					YUNIN 或者 RGB565IN;
//				FB1_Addr、FB2_Addr、FB3_Addr:	TV Frame Buffer地址
// 返回值:		无
// =============================================================
void TV_Init(unsigned int Mode, unsigned int ColorModeIN, 
				unsigned int FB1_Addr, unsigned int FB2_Addr, unsigned int FB3_Addr)
{
	*P_TV_CLK_CONF = C_TV_CLK_EN | C_TV_RST_DIS; 		// 使能TV 时钟
	*P_TV_VIDEODAC_CTRL = C_TV_VIDEODAC_EN; 			// 使能Video DAC
	*P_TV_MODE_CTRL = C_TV_CTRL_EN 						// 使能TV
					| C_TV_NTSC_MODE 					// 选择NTSC 制式C_TV_NTSC_MODE
					| C_TV_NOINTERLACE_MODE 			// 选择逐行扫描方式
					| C_TV_NTSC_TYPE 					// 选择NTSC 类型
					| C_TV_LITTLE_ENDIAN; 				// 选择小端模式
	if(Mode == VGA)
	{
		*P_TV_MODE_CTRL	|= C_TV_VGA_MODE;				// 选择VGA(640*480)模式
	}
	else if(Mode == QVGA)
	{
		*P_TV_MODE_CTRL	|= C_TV_QVGA_MODE; 				// 选择QVGA(320*240)模式
	}
	if(ColorModeIN == RGB565IN)
	{
		*P_TV_MODE_CTRL	|= 	C_TV_RGB_MODE 				// RGB模式
							| C_TV_RGB565_MODE;
	}
	else if(ColorModeIN == YUVIN)
	{
		*P_TV_MODE_CTRL	|= C_TV_YCBCR_MODE; 			// YUV模式
	}
	TV_Buffer_Set(FB1_Addr, FB2_Addr, FB3_Addr);
	TV_Buffer_Sel(0);
}

// =============================================================
// 语法格式:	void TV_Buffer_Set(unsigned int FB1_Addr, unsigned int FB2_Addr,
//								unsigned int FB3_Addr)
// 实现功能:	TV的缓冲区地址设置
// 参数:		FB1_Addr:缓冲区开始地址1
//				FB2_Addr:缓冲区开始地址2
//				FB3_Addr:缓冲区开始地址3
// 返回值:		无
// =============================================================
void TV_Buffer_Set(unsigned int FB1_Addr, unsigned int FB2_Addr, unsigned int FB3_Addr)
{
	*P_TV_BUFFER_SA1 = FB1_Addr;
	*P_TV_BUFFER_SA2 = FB2_Addr;
	*P_TV_BUFFER_SA3 = FB3_Addr;
}

// =============================================================
// 语法格式:	void TV_Buffer_Sel(unsigned int Sel)
// 实现功能:	TV的缓冲区选择
// 参数:		Sel:TV Frame Buffer选择
// 返回值:		无
// =============================================================
void TV_Buffer_Sel(unsigned int Sel)
{
	*P_TV_BUFFER_SEL = Sel;
}

// =============================================================
// 语法格式:	void TV_SATURATION_Setup(unsigned int Satu)
// 实现功能:	TV的饱和度设置,默认值为0x14
// 参数:		Satu:饱和度
// 返回值:		无
// =============================================================
void TV_SATURATION_Setup(unsigned int Satu)
{
	*P_TV_SATURATION_SETUP = Satu & 0x000000ff;
}

// =============================================================
// 语法格式:	void TV_HUE_Setup(unsigned int Hue)
// 实现功能:	TV的色相设置,默认值为0x00
// 参数:		Hue:色相
// 返回值:		无
// =============================================================
void TV_HUE_Setup(unsigned int Hue)
{
	*P_TV_HUE_SETUP = Hue & 0x000000ff;
}

// =============================================================
// 语法格式:	void TV_FADE_Setup(unsigned int Fade)
// 实现功能:	TV的色相设置,默认值为0x00
// 参数:		Fade:淡入淡出设置
// 返回值:		无
// =============================================================
void TV_FADE_Setup(unsigned int Fade)
{
	*P_TV_FADE_SETUP = Fade & 0x000000ff;
}

⌨️ 快捷键说明

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