UTL-025を使うに際して参考プログラムはありませんか

  UTL-025はEPSON製S1D13781を搭載しており、当社内でもEPSON社のサンプルプログラム
を編集して検査プログラムを作成しております。

ほとんどサンプルプログラムのまま動作するかと存じますが、初期設定について下記のよ
うに変更しております。EPSON社のFUNC_LCDC_REF.cppを元にしています。

#define LCD_PLL_MDIV            0x000B // 24MHz * 1/12 = 2MHz
#define LCD_PLL_LCNTR           0x0020 // 2MHz * 33 = 66MHz(MCLK)
#define LCD_PLL_PCLKDIV         0x0002 // 66MHz / 8 = 8.25MHz(PCLK)
#define LCD_PANEL_TYPE          LCDC_PANEL_TFT24
#define LCD_PANEL_PCLK_POL      LCDC_PANEL_PCLK_POSEDGE
#define LCD_PANEL_DE_POL        LCDC_PANEL_DE_HIGH_ACT
#define LCD_PANEL_HDISP         800//480
#define LCD_PANEL_HNDP          120//45
#define LCD_PANEL_VDISP         480//272
#define LCD_PANEL_VNDP          44//16
#define LCD_PANEL_HSW           20//20
#define LCD_PANEL_HPS           20//20
#define LCD_PANEL_VSW           4
#define LCD_PANEL_VPS           7//4

//---中略----

static uint8 palet[LUT_SIZE];	// LUT

/* ==================================================================== */
void lcd_test25( void ) // UTL-025 TEST
/* ==================================================================== */
{
int i,j;
static uint8 tblu[] = {
		0, 0x11, 0x22, 0x44, 0x88, 0x99, 0xaa, 0xbb,
		0, 0x11, 0x22, 0x44, 0x88, 0x99, 0xaa, 0xbb,
};
static uint8 tbll[] = {
		0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
		0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
};
uint32 k;

	lcd_bl_cont( 1 ); // UTL-025 back light on/off
	FT_printf( "lcd_test24() UTL-025 TEST" CRLF  );
	DumpReg_lcdc();
	Init_lcdc25();
	FT_printf( "---Init_lcdc(LCDC_BPP);" CRLF  );

	DumpReg_lcdc();
	set_pal( 0xc0, 0x00, 0xff, 0xff); // パレット設定 dt, b, g, r
	set_pal( 0xc1, 0x00, 0xff, 0x00); // パレット設定 dt, b, g, r
	set_pal( 0xc2, 0xff, 0x00, 0x00); // パレット設定 dt, b, g, r
	set_pal( 0xc3, 0xff, 0x00, 0xff); // パレット設定 dt, b, g, r
	set_pal( 0xc4, 0xff, 0x44, 0x44); // パレット設定 dt, b, g, r
	set_pal( 0xc5, 0x55, 0x55, 0x00); // パレット設定 dt, b, g, r
	set_pal( 0xc6, 0x55, 0xff, 0x00); // パレット設定 dt, b, g, r
	set_pal( 0xc7, 0x00, 0x00, 0xff); // パレット設定 dt, b, g, r
	DumpReg_lcdc();
	//上半分
	for( j=0; j < 16 ; j++){
		for( i=0; i < LCD_PANEL_VDISP/2; i++){
			Fill_byte_lcdc_25( xy2adrs( j*(800/16), i ), (LCD_PANEL_HDISP/16), tblu[j] );
		}
	}
	//下半分
	for( j=0; j < 16 ; j++){
		for( i=LCD_PANEL_VDISP/2; i < LCD_PANEL_VDISP; i++){
			Fill_byte_lcdc_25( xy2adrs( j*(800/16), i ), (LCD_PANEL_HDISP/16), tbll[j] );
		}
	}


	k=0xFF;
	Fill_lcdc25(                 0,                 0, LCD_PANEL_HDISP-1,                 0, k);
	Fill_lcdc25(                 0,                 0,                 0, LCD_PANEL_VDISP-1, k);
	Fill_lcdc25( LCD_PANEL_HDISP-1,                 0, LCD_PANEL_HDISP-1, LCD_PANEL_VDISP-1, k);
	Fill_lcdc25(                 0, LCD_PANEL_VDISP-1, LCD_PANEL_HDISP-1, LCD_PANEL_VDISP-1, k);
	FT_printf( "---test end" CRLF  );

}

また参考のため、コントローラ周辺回路をご覧下さい。


クリックして拡大

 当社ではサンプルソースのすべてをお示しすることはいたしておりません。 この記事が皆様の参考になれば幸いです。


[kw] 2015-11-25 UTL-025 S1D13781

[]