EK-LM3S8962扩展TFT之GRLIB图形界面心得
[复制链接]
本人将申请到的EK-LM3S8962扩展了一块TFT(ST7781R),然后利用grlib库做界面。
由于IO口不够用,本人使用的是SSI模块进行数据的传输,可想而知,速度跟不上。但还将就了,主要是分享心得了。
以后用EPI加AMD做,速度自然上去了。
下面给出主函数。
如果哪位使用的TFT的控制器与本人相同,可以向本人要底层驱动,这些驱动完全自己所写。
一个一个实验过的。
关于全用GRLIB的操作,在这个word中有详细说明。不懂的同志可以问我。
这里就不贴图了。。。。。
/******************************************************************** 程序名称:工程模板 硬件环境:EK-LM3S8962学习板 软件环境:keil 4.12 DRL:6734 GRL:6734 创建日期:2011.1.7 修改日期:2011.1.7 使用者 :史莱克 QQ:1005450581 Email:lchhzjx32226@qq.com 版 本:R1.0 程序说明:
********************************************************************/
#include "config.h" #include "InitSystem.h"
//定义一个矩形框结构体 tRectangle ul_shilaike_Rect;
const tDisplay ul_shilaike_Dis={ sizeof(tDisplay), 0, 240, // LCD width 320, // LCD height PixelDraw, //(void*)0, PixelDrawMultiple , LineDraw_H, LineDraw_V, RectFill, ul_Color_Translate, ul_Flush};
tContext ul_shilaike_Context;
/******************************************************************** 函数名称:main() 函数入口:无 函数出口:无 函数说明:系统主函数 ********************************************************************/ int main(void) { //u32 count; InitClock(); //InitUART0(38400); Lcd_Init(); ClearScreen(C_black);
GrContextInit(&ul_shilaike_Context, &ul_shilaike_Dis);
//GrCircleDraw(&ul_shilaike_Context, 100,100, 50) ;
ul_shilaike_Rect.sXMin=0; ul_shilaike_Rect.sYMin=0; ul_shilaike_Rect.sXMax=GrContextDpyWidthGet(&ul_shilaike_Context) - 1; ul_shilaike_Rect.sYMax=320;
/* GrContextForegroundSet(&ul_shilaike_Context, ClrMediumBlue); GrRectFill(&ul_shilaike_Context, &ul_shilaike_Rect);
GrContextForegroundSet(&ul_shilaike_Context, ClrLime); GrContextFontSet(&ul_shilaike_Context, &g_sFontCm20); GrStringDrawCentered(&ul_shilaike_Context, "Hello eeworld !", -1, GrContextDpyWidthGet(&ul_shilaike_Context) / 2, 120, 0);*/
//TiLogDraw(); //DispNum(&ul_shilaike_Context,12.021,100,50); /*GrContextForegroundSet(&ul_shilaike_Context, ClrLime); GrContextFontSet(&ul_shilaike_Context,&g_sFontAlger50); GrStringDraw(&ul_shilaike_Context,"CORTEX!",-1,5,200 ,true);*/ GrImageDraw(&ul_shilaike_Context,g_pucImage,100,100); GrImageDraw(&ul_shilaike_Context,g_pucImage1,40,100); GrImageDraw(&ul_shilaike_Context,g_pucImage1,90,160); GrContextForegroundSet(&ul_shilaike_Context, ClrLightSteelBlue); GrContextFontSet(&ul_shilaike_Context, &g_sFontAlger40); GrStringDrawCentered(&ul_shilaike_Context, "CORTEX!", -1, GrContextDpyWidthGet(&ul_shilaike_Context) / 2, 250, 0);
while (1) { WidgetMessageQueueProcess(); } }
g_sFontAlger40这是一个字体数组结构,是本人利用TI提供的工具软件将xp系统的一块TTF字体转换而成的。效果与在电脑上面的效果一样。
|