STM32F103學(xué)習(xí)筆記 (十) TFTLCD 顯示
看了TFTLCD和FSMC(靈活的靜態(tài)存儲(chǔ)控制器)的簡(jiǎn)介,還是一知半解,不知所云。
TFTLCD使用80并口,80 并口有如下一些信號(hào)線:
CS: TFTLCD 片選信號(hào)。
WR:向 TFTLCD 寫(xiě)入數(shù)據(jù)。
RD:從 TFTLCD 讀取數(shù)據(jù)。
D[15: 0]: 16 位雙向數(shù)據(jù)線。
RST:硬復(fù)位 TFTLCD。
RS:命令/數(shù)據(jù)標(biāo)志( 0,讀寫(xiě)命令; 1,讀寫(xiě)數(shù)據(jù))。
只是記住FSMC在使用的時(shí)候要初始化和使能就行了。
關(guān)于lcd.c這個(gè)文件竟然接近3000行,好吧,我是寫(xiě)不出來(lái),只能在主函數(shù)里調(diào)用了。
main.c:
intmain(void)
{
u8x=0;
u8lcd_id[12];//存放LCDID字符串
delay_init();//延時(shí)函數(shù)初始化
NVIC_Configuration();//設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
uart_init(9600);//串口初始化為9600
LED_Init();//LED端口初始化
LCD_Init();
POINT_COLOR=RED;
sprintf((char*)lcd_id,"LCDID:%04X",lcddev.id);//將LCDID打印到lcd_id數(shù)組。
while(1)
{
switch(x)
{
case0:LCD_Clear(WHITE);break;
case1:LCD_Clear(BLACK);break;
case2:LCD_Clear(BLUE);break;
case3:LCD_Clear(RED);break;
case4:LCD_Clear(MAGENTA);break;
case5:LCD_Clear(GREEN);break;
case6:LCD_Clear(CYAN);break;
case7:LCD_Clear(YELLOW);break;
case8:LCD_Clear(BRRED);break;
case9:LCD_Clear(GRAY);break;
case10:LCD_Clear(LGRAY);break;
case11:LCD_Clear(BROWN);break;
}
POINT_COLOR=RED;
LCD_ShowString(30,50,200,16,16,"WarShipSTM32^_^");
LCD_ShowString(30,70,200,16,16,"TFTLCDTEST");
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,lcd_id);//顯示LCDID
LCD_ShowString(30,130,200,16,16,"2012/9/5");
x++;
if(x==12)x=0;
LED0=!LED0;
delay_ms(1000);
}