zoukankan      html  css  js  c++  java
  • 触摸屏

    函数及思路讲解:

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

     屏幕的刷屏速率慢许多

  • 相关阅读:
    DNS域名解析中A、AAAA、CNAME、MX、NS、TXT、SRV、SOA、PTR各项记录的作用
    HTTP数据包
    渗透——网络基础
    渗透——linux基础
    渗透——http协议基础
    渗透——CMS基础
    渗透测试流程
    渗透专用术语
    CodeFoeces GYM 101466A Gaby And Addition (字典树)
    关于Windows10内存随时间不断升高问题
  • 原文地址:https://www.cnblogs.com/Ph-one/p/4126884.html
Copyright © 2011-2022 走看看