函数及思路讲解:
1.对于LCD_Init();
void LCD_Init(void) { LCD_GPIO_Config(); LCD_FSMC_Config(); LCD_Rst(); LCD_REG_Config(); }
主要对FSMC总线配置定义,及对LCD初始化寄存器配置
2.Lcd_GramScan(2);
设置液晶GRAM的扫描方向
void Lcd_GramScan( uint16_t option ) { switch(option) { case 1: {/* 左上角->右下脚 显示中英文时用的是这种模式 */ LCD_ILI9341_CMD(0x36); LCD_ILI9341_Parameter(0xC8); LCD_ILI9341_CMD(0X2A); LCD_ILI9341_Parameter(0x00); /* x start */ LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); /* x end */ LCD_ILI9341_Parameter(0xEF); LCD_ILI9341_CMD(0X2B); LCD_ILI9341_Parameter(0x00); /* y start */ LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x01); /* y end */ LCD_ILI9341_Parameter(0x3F); }break; case 2: {/* 左下角->右上角 显示摄像头图像时用的是这种模式 */ LCD_ILI9341_CMD(0x36); LCD_ILI9341_Parameter(0x68); LCD_ILI9341_CMD(0X2A); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x01); LCD_ILI9341_Parameter(0x3F); LCD_ILI9341_CMD(0X2B); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0xEF); }break; case 3: {/* 右下角->左上角 显示BMP图片时用的是这种模式 */ LCD_ILI9341_CMD(0x36); LCD_ILI9341_Parameter(0x28); LCD_ILI9341_CMD(0X2A); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x01); LCD_ILI9341_Parameter(0x3F); LCD_ILI9341_CMD(0X2B); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0xEF); }break; case 4: {/* 左下角->右上角 显示BMP图片时用的是这种模式 */ LCD_ILI9341_CMD(0x36); LCD_ILI9341_Parameter(0x48); LCD_ILI9341_CMD(0X2A); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0xEF); LCD_ILI9341_CMD(0X2B); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x00); LCD_ILI9341_Parameter(0x01); LCD_ILI9341_Parameter(0x3F); }break; } /* write gram start */ LCD_ILI9341_CMD(0x2C); }
3.SPI_FLASH_Init();(我们将触摸到的值存在25Q16中,当然我们可以不用)可结合SPI文理解
4.Touch_Init();
触摸屏数据的传输我们用模拟SPI
当然对于是否检测到触摸,当触摸屏有触摸动作的时候PENIRQ会变为低电平,我们利用外部中断进行检测
5.Palette_Init(); 去色板初始化函数
6.我们谨记,串口中断对扫描速率的影响是很大的
当我们编译USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
屏幕的刷屏速率慢许多