本人将申请到的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字体转换而成的。效果与在电脑上面的效果一样。