关于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;
然后字符可以正常的显示出来,但是在屏幕上显示一堆字符的时候,有时候会出现乱码
大神给讲讲原子的这段代码把。。。。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>