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

📄 init_platform_tft.c

📁 这是今年ADI大赛我参与的另一个获奖的项目列缝检测仪的源文件
💻 C
字号:
#include "bf5xx.h"
#include "types.h"

EX_INTERRUPT_HANDLER(FlagA_ISR_TSP);
/****************************************************************************
* 功能 : 外部声明的变量
****************************************************************************/


extern uint8_t DisplayBuffer[262][960];
extern int pCtrOut_Flag_OEstate;

extern int pCtrOut_Flag_bstate;
/****************************************************************************
* 名称 : Init_PPI
* 功能 : PPI 控制器初始化
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
static void Init_TFTPPI(void)
{	
	*pPPI_DELAY = 0xcb;		//106 cycle delay before writing out data
	*pPPI_COUNT = 959;		//960 samples per line
}
/****************************************************************************
* 名称 : Init_PPIDMA
* 功能 : PPIDMA 初始化
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void Init_PPIDMA(uint8_t *start)
{
	*pDMA0_START_ADDR =(int)start;
	*pDMA0_X_COUNT = 960/2;
	*pDMA0_X_MODIFY = 2;
	*pDMA0_Y_COUNT = 262;
	*pDMA0_Y_MODIFY = 2;
	*pDMA0_CONFIG = 0x1034;
}
/****************************************************************************
* 名称 : Init_Timer
* 功能 : 初始化时钟为PWM 模式  TMR1 和 TMR2 输出
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
static void Init_Timer(void)
{
	*pTIMER1_PERIOD		= 1224;
	*pTIMER1_WIDTH		= 88;
	*pTIMER1_CONFIG		= 0x00a9;
	*pTIMER2_PERIOD		= 320688;
	*pTIMER2_WIDTH		= 3672;
	*pTIMER2_CONFIG		= 0x00a9;
}

static void Init_TFTCPLD(void)  
{
    pCtrOut_Flag_OEstate=*pCtrOut_Flag_OE;
	//*pCtrOut_Flag_OE &= ~TFT_245_OE ; //CMOS_OE 245 允许 ADG_OE=1
	*pCtrOut_Flag_OE = 0Xfd ; //修改了这里的配置将其改为只开通tft显示,上面是他的标准配置
	pCtrOut_Flag_OEstate=*pCtrOut_Flag_OE;
	mdelay(500);
	pCtrOut_Flag_bstate=*pCtrOut_Flag_B;
    *pCtrOut_Flag_B  =0X43;//修改了这里的配置将其改为只开通tft显示
	//*pCtrOut_Flag_B  &= ~TFTCLK_SET;
    pCtrOut_Flag_bstate=*pCtrOut_Flag_B;
    mdelay(500);
}


/****************************************************************************
* 名称 : PPI_TMR_DMA_Enable
* 功能 :  PPI 控制器 DMA 控制器 和TMR 控制器 允许 
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
static void PPI_TMR_DMA_Enable(void)
{
	*pDMA0_CONFIG |= 0x1;
	asm("ssync;");
	*pPPI_CONTROL =  0x809f;
	Init_Timer();			
	*pPPI_CONTROL |= 0x1; 		//使能PPI
	asm("ssync;");
	*pTIMER_ENABLE= 0x0006;
	asm("ssync;");
}

void Init_Platform_TFT(void)
{
	Init_EBIU();
    Init_TFTCPLD();
	Init_TFTPPI();
	PPI_TMR_DMA_Enable();
}

void PPI_TMR_DMAR_Disable(void)
{
	*pDMA0_CONFIG &= (~DMA_EN);
	*pPPI_CONTROL &= (~PORT_EN);

}

⌨️ 快捷键说明

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