ssd1963为什么不能硬件实现显示旋转90度?

[复制链接]
2674|9
手机看帖
扫描二维码
随时随地手机跟帖
lishong|  楼主 | 2014-3-20 12:38 | 显示全部楼层 |阅读模式



挺郁闷的一件事情,我用ssd1963驱动LQ035NC111发现无论怎么设置36H寄存器也不能实现显示旋转90度.按理可以通过设置A[7]= 1,A[5] = 1来实现的.最早以为设置没成功,但通过读出0BH寄存器发现设置是没问题的.而我试过横向的反显示A[6]= 1,是可以反显的.为什么会有这个情况?哪位有遇到这个问题没?

相关帖子

mmuuss586| | 2014-3-20 15:42 | 显示全部楼层
没用过,帮顶。

使用特权

评论回复
zf470| | 2014-3-23 22:52 | 显示全部楼层
帮顶

使用特权

评论回复
wu1169668869| | 2015-5-27 20:20 | 显示全部楼层
同样发现不能90°翻转…
不知道楼主解决了没orz

使用特权

评论回复
dirtwillfly| | 2015-5-28 08:45 | 显示全部楼层
没用过

使用特权

评论回复
jaygeng| | 2017-4-17 11:42 | 显示全部楼层
应该是不能的了。我也遇到。只能用软件实现。

使用特权

评论回复
ipman| | 2017-4-17 23:49 | 显示全部楼层
旋转90度是横屏与竖屏切换,行场都发生变化,SSD1963没有这个能力,目前具备这个能力的都是ARM9以上自带LCD控制器接口的芯片,搭配操作系统协同实现

使用特权

评论回复
tyw| | 2017-4-18 09:01 | 显示全部楼层
LQ035NC111_V-B_20080613(20170418083554).pdf (4.37 MB)

使用特权

评论回复
zhaoyu2005| | 2017-4-18 09:17 | 显示全部楼层
对命令理解不正确,这个片子就没XY交换功能,怎么硬件实现90度旋转呢。你说的两个参数,只是扫描顺序,相当于将(0.0)定位在哪个角(通常左上角,这个两个值可以定义到其他三个角),但是不会硬件XY数据交换,实现90旋转,只能软件进行XY数据交换实现

使用特权

评论回复
xfenghany| | 2019-8-10 11:52 | 显示全部楼层
为什么说不能90度旋转呢,只能解释为没有仔细读手册,或者说是读了没有理解。官方手册写得很明确,Hardware rotation of 0, 90, 180, 270 degree
光说不给答案不厚道,以下是我用的横竖屏旋转的代码,可以参考一下。

#define CMD_SetCoordinateX    0x2A      //设置X坐标 set column address
#define CMD_SetCoordinateY    0x2B      //设置Y坐标
#define CMD_WriteGram         0x2C      //写GRAM(图像内存)

void _BSP_LCD_SetParam(void)
{
  uint8_t dirSet = 0x00;
  LCDParam.writeGramCmd = CMD_WriteGram;     //写GRAM
  if(LCD_SCAN_DIR % 2 != 0)
  { //竖屏
    LCDParam.setXPositionCmd = CMD_SetCoordinateY;   //设置X坐标
    LCDParam.setYPositionCmd = CMD_SetCoordinateX;   //设置Y坐标
    LCDParam.xdirectionSize = LCD_SHORTSIDE;
    LCDParam.ydirectionSize = LCD_LONGSIDE;
    if(LCD_SCAN_DIR == 1) dirSet = 0x21;
    if(LCD_SCAN_DIR == 3) dirSet = 0x22;
  }else{  //横屏
    LCDParam.setXPositionCmd = CMD_SetCoordinateX;   //设置X坐标
    LCDParam.setYPositionCmd = CMD_SetCoordinateY;   //设置Y坐标
    LCDParam.xdirectionSize = LCD_LONGSIDE;
    LCDParam.ydirectionSize = LCD_SHORTSIDE;
    if(LCD_SCAN_DIR == 0) dirSet = 0x00;
    if(LCD_SCAN_DIR == 2) dirSet = 0x03;
  }  
  _BSP_LCD_WriteValue(CMD_GramDirection, dirSet);    //控制存储器的读写方向
  _BSP_LCD_SetWindows(0, 0, LCDParam.xdirectionSize, LCDParam.ydirectionSize);
}         

使用特权

评论回复
评分
参与人数 1威望 +15 收起 理由
tyw + 15 很给力!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

137

帖子

3

粉丝