首页 > 其他分享 >ili9325屏幕横屏竖屏方向

ili9325屏幕横屏竖屏方向

时间:2022-09-18 01:11:05浏览次数:72  
标签:disp ili9325 drv LV LCD 横屏 方向 竖屏 ROT

首先这个屏幕默认就是竖着的,他的240方向排列着子像素  是行扫描方向  有三个寄存器会影响显示的扫描顺序

     // R1是SS:选择源极驱动器输出的移位方向。 这里以竖屏,排线在下确定说原点位置 屏幕在240分辨率方向是三像素,子像素排列在240方向
        //  当 SS = 0 时,输出的移位方向是从 S1 到 S720 s1在右边  s720在左边
        //  当 SS = 1 时,输出的移位方向是从 S720 到 S1。

             LCD_WriteReg(LCD_REG_1, 0x0000);  // ss sm bit 240方向扫描方向(左右) 0100 从右往左/0000从左往右
             // scan line原点设置(320方向上下) a700在上/2700原点在下
             LCD_WriteReg(LCD_REG_96, 0x2700); // scan line原点设置(320方向上下) a700在上/2700原点在下

        /* set GRAM write direction and BGR = 1 */
        /* I/D=00第四位  (Horizontal : increment, Vertical : decrement) */
         /* AM=1 第三位 (address is updated in vertical writing direction) */
        /* 设置 GRAM 写入方向和 BGR = 1 */
        /* I/D=00第四位(水平:递增,垂直:递减)*/
        /* AM=1(垂直写入方向更新地址)*/
             LCD_WriteReg(LCD_REG_3, 0x1000 | 0x0020 | 0x0010 | 0x0000); // RGB&GBR/左右0010/0000、上下0000/0020、水平垂直0000/0008 lvgl008出错

 

如果图像是镜像,可以调整reg1根reg96

reg3跟lvgl的disp驱动写法密切相关,这限制了lvgl的屏幕方向,如果想旋转lvgl的显示  ,可以使用软件旋转

在lvgl_init()函数中,可以找到lv_disp_drv_t结构体定义的一个变量disp_drv,修改disp_drv这两个参数的值即可实现旋转;

...
/*Create a display*/
lv_disp_drv_t disp_drv;
lv_disp_drv_init(&disp_drv);
disp_drv.buffer = &disp_buf;
disp_drv.flush_cb = lvgl_flush_cb;
disp_drv.sw_rotate = 1; // add for rotation  软件算法旋转
disp_drv.rotated = LV_DISP_ROT_90; // add for rotation    可以是   LV_DISP_ROT_NONELV_DISP_ROT_90LV_DISP_ROT_180, or LV_DISP_ROT_270 这些宏定义代表了旋转角度


lv_disp_drv_register(&disp_drv);
...

标签:disp,ili9325,drv,LV,LCD,横屏,方向,竖屏,ROT
From: https://www.cnblogs.com/kyo413/p/16704055.html

相关文章

  • uniapp使用css实现固定横屏
    由于h5无法使用app-plus的属性,只好通过样式实现直接上代码html<view:class="islandscape?'preview-maintrans':'preview-main'"><u-iconname="arrow-left"......