请问原子哥一下,关于OLED问题。。。

2019-07-21 07:05发布

我看画点程序写字符程序,关于坐标系有点问题关于OLED的,void OLED_DrawPoint(u8 x ,u8 y ,u8 t) 

 u8 pos,bx,temp=0; 
 if(x>127||y>63)return;//超出范围了. 
 pos=7-y/8; 
 bx=y%8; 
 temp=1<<(7-bx); 
 if(t)OLED_GRAM[x][pos]|=temp; 
  else OLED_GRAM[x][pos]&=~temp;       

这个x=0y=0的原点在左下方还是左上方?
如果在左上方pos=7-y/8;页地址不就跑到7了么?页地址为7不是表示在最后8行也就是最底下吗?
难道页地址为7反而表示上面8个行?那就是说显存的坐标和我们使用的x、y的坐标正好相反?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
杨遥
2019-07-21 10:45
楼主,
莫非你的屏common线刚好是相反的呢,这个程序就刚好哦。呵呵。
一般是左上,你这个可能是左下,也可能是common线反的。

分析:
    你这个是128*64的LCD点阵屏,
    按照一般规格:
    x0 x1 x2 ...
    db0
    db1
    db2
    db3
    db4
    db5
    db6
    db7

    db0
    .
    .


    1.如果程序中定义的RAM是从下开始算的,也就是OLED_GRAM[x][0]是指page7,OLED_GRAM[x][7]是指page0,
      则是可以的。但是必须db0->db7跟我标的方向相反
    2.common线刚好贴反.有些LCD出现这样的情况不稀奇,我就碰到过。呵呵。








一周热门 更多>