看了TFTLCD和FSMC(灵活的静态存储控制器)的简介,还是一知半解,不知所云。
TFTLCD使用80并口,80 并口有如下一些信号线:
CS: TFTLCD 片选信号。
WR:向 TFTLCD 写入数据。
RD:从 TFTLCD 读取数据。
D[15: 0]: 16 位双向数据线。
RST:硬复位 TFTLCD。
RS:命令/数据标志( 0,读写命令; 1,读写数据)。
只是记住FSMC在使用的时候要初始化和使能就行了。
关于lcd.c这个文件竟然接近3000行,好吧,我是写不出来,只能在主函数里调用了。
main.c:
intmain(void)
{
u8x=0;
u8lcd_id[12];//存放LCDID字符串
delay_init();//延时函数初始化
NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600);//串口初始化为9600
LED_Init();//LED端口初始化
LCD_Init();
POINT_COLOR=RED;
sprintf((char*)lcd_id,“LCDID:%04X”,lcddev.id);//将LCDID打印到lcd_id数组。
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);
}
设计资源 培训 开发板 精华推荐
- 使用 NXP Semiconductors 的 MKW31Z512VHT4 的参考设计
- LT1317CMS8 演示板、微功率、600kHz PWM DC/DC 转换器
- 具有有源 PFC 的 RT7310 切相可调光初级侧调节 LED 驱动器控制器的典型降压-升压应用
- ADR365A 5V 输出低功耗、低噪声电压基准的典型应用,具有灌/拉能力
- 使用 Microchip Technology 的 TS8388B 的参考设计
- 用于电机控制的 45W、18V 交流转直流单输出电源
- ESP32迷你墨水屏MP3收音机多功能
- 使用 STMicroelectronics 的 ST662AC 的参考设计
- ADZS-BFAV-EZEXT、ADSP-BF533/ADSP-BF537/ADSP-BF561 Blackfin A-V EZ-Extender 子板,用于基于 Blackfin 数字信号处理器 (DSP) 的 EZ-KIT Lite 评估系统
- NCV2902DR2G 维恩桥振荡器运算放大器的典型应用