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
[]