触摸屏

来源:互联网 发布:mac屏幕截图快捷键 编辑:程序博客网 时间:2024/06/12 00:25

函数及思路讲解:

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);

 屏幕的刷屏速率慢许多

 

0 0
原创粉丝点击