关于原子的源码OLED ,有几句不太懂,大神给解释一下。。。。。。

2019-07-21 07:11发布


关于OLED的画点函数;
    
1       void OLED_DrawPoint(u8 x,u8 y,u8 t)
2     {
3     u8 pos,bx,temp=0;
4    if(x>127||y>63)return;//????·??§??.
5    pos=7-y/8;
6    bx=y%8;
7  temp=1<<(7-bx);
8   if(t)OLED_GRAM[x][pos]|=temp;
9    else OLED_GRAM[x][pos]&=~temp;    
}

我的控制器是1305,驱动是自己写的没有问题,应用程序按照原子的思想写,用

原子的源码,但是字符显示出来是镜像的,这个画点函数有点不太明白:

假如我在 (100,3)这点 点亮,本应该操作的数据元素是OLED_GRAM[100][0]

按照源码,操作的缓存数组元素是 OLED_[100][7]   

我把源码的第5行 和 第 7行 做如下的修改,

5    pos=y/8;
7  temp=1<<bx;

然后字符可以正常的显示出来,但是在屏幕上显示一堆字符的时候,有时候会出现乱码

大神给讲讲原子的这段代码把。。。。。。。。。





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
力志强
2019-07-21 18:09
回复【3楼】力志强:
---------------------------------
Y坐标发现乱了,不好意思,回复只能是纯文本,不能画图,


   最闹心的是,y坐标要是按照 0,16,32,48 等这些整页显示就没有问题,一旦不是这些整页,就会有字符的点错乱,
  
  我用画点函数,点亮任何一个我想点亮的点,发现没有问题,一显示字符就会有问题
  
   弄了好几天了,我实在是晕了。。。

一周热门 更多>