野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9365|回复: 1

触摸屏横屏竖屏问题

[复制链接]
发表于 2018-4-5 12:11:31 | 显示全部楼层 |阅读模式
请教各位大大,问题如下
我直接在bsp_ili9341_lcd.c添加霸道触摸屏里面的设置ILI9341的GRAM的扫描方向ILI9341_GramScan()函数
void ILI9341_GramScan ( uint8_t ucOption )
{       
        //参数检查,只可输入0-7
        if(ucOption >7 )
                return;
       
        //根据模式更新LCD_SCAN_MODE的值,主要用于触摸屏选择计算参数
        LCD_SCAN_MODE = ucOption;
       
        //根据模式更新XY方向的像素宽度
        if(ucOption%2 == 0)       
        {
                //0 2 4 6模式下X方向像素宽度为240,Y方向为320
                LCD_X_LENGTH = 240;
                LCD_Y_LENGTH =        320;
        }
        else                               
        {
                //1 3 5 7模式下X方向像素宽度为320,Y方向为240
                LCD_X_LENGTH = 320;
                LCD_Y_LENGTH =        240;
        }

        //0x36命令参数的高3位可用于设置GRAM扫描方向       
        ILI9341_Write_Cmd ( 0x36 );
        ILI9341_Write_Data ( 0x08 |(ucOption<<5));//根据ucOption的值设置LCD参数,共0-7种模式
        ILI9341_Write_Cmd ( macCMD_SetCoordinateX );
        ILI9341_Write_Data ( 0x00 );                /* x 起始坐标高8位 */
        ILI9341_Write_Data ( 0x00 );                /* x 起始坐标低8位 */
        ILI9341_Write_Data ( ((LCD_X_LENGTH-1)>>8)&0xFF ); /* x 结束坐标高8位 */       
        ILI9341_Write_Data ( (LCD_X_LENGTH-1)&0xFF );                                /* x 结束坐标低8位 */

        ILI9341_Write_Cmd ( macCMD_SetCoordinateY );
        ILI9341_Write_Data ( 0x00 );                /* y 起始坐标高8位 */
        ILI9341_Write_Data ( 0x00 );                /* y 起始坐标低8位 */
        ILI9341_Write_Data ( ((LCD_Y_LENGTH-1)>>8)&0xFF );        /* y 结束坐标高8位 */         
        ILI9341_Write_Data ( (LCD_Y_LENGTH-1)&0xFF );                                /* y 结束坐标低8位 */

        /* write gram start */
        ILI9341_Write_Cmd ( macCMD_SetPixel );       
}
并在ILI9341_Init()里面设置了扫描方向
void ILI9341_Init ( void )
{
        ILI9341_GPIO_Config ();
        ILI9341_FSMC_Config ();
        ILI9341_Rst ();
        ILI9341_REG_Config ();
       
        LCD_BK_EN;//开液晶屏背光
       
        ILI9341_GramScan(5);
}
可是无论我怎么改扫描方向,都是竖屏显示。想让它横屏显示
回复

使用道具 举报

 楼主| 发表于 2018-4-5 16:02:36 | 显示全部楼层
已解决,把LCDConf_FlexColor_Template.c下的void LCD_X_Config(void)函数里面这两句话改一下,竖屏注释,横屏显示
//        Config.Orientation = GUI_MIRROR_Y|GUI_MIRROR_X;                                                                //modify by fire 竖屏
   Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y;                                            //modify by fire  横屏       
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-28 21:06 , Processed in 0.025468 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表