关于原子的源码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条回答
dujq
1楼-- · 2019-07-22 02:06
讲的太粗糙了
lmlmllm
2楼-- · 2019-07-22 04:13
dujq 发表于 2017-6-19 10:34
讲的太粗糙了

是啊,感觉这章讲的很糙,一下子就过去了,不知道是不是不重要、
Passenger123
3楼-- · 2019-07-22 06:45
OLED那段视频我看不懂,OLED_GRAM[128][8]为什么不是[8][128],这样对应来才是8行128列赛,还有就LZ贴的那段代码也看不懂,,大佬们求教教啊
挖东衣宇
4楼-- · 2019-07-22 08:14
我看了也是一脸懵逼,感觉教程说得太让人疑惑了,应该是高低位设置问题,不过注释没写清楚,以为是程序出错
永巷24号
5楼-- · 2019-07-22 13:31
 精彩回答 2  元偷偷看……
Carl_peng
6楼-- · 2019-07-22 17:20
Passenger123 发表于 2017-7-14 19:02
OLED那段视频我看不懂,OLED_GRAM[128][8]为什么不是[8][128],这样对应来才是8行128列赛,还有就LZ贴的那段 ...

对,我也有这样的疑惑。。

一周热门 更多>