初级会员

- 积分
- 80
- 金钱
- 80
- 注册时间
- 2013-11-20
- 在线时间
- 7 小时
|

楼主 |
发表于 2015-12-2 21:33:44
|
显示全部楼层
回复【2楼】229382777@qq.com:
---------------------------------
我把屏幕的左上角定为原点,整个屏幕的分布如下 ,以下是我的理解。
原点 。-------------------------------------------------- x轴( 0 ,127)
(0 page) |
(1 page)|
|
|
|
|
|
(7 page)|
y轴( 0,63)
我们定义的 OLED_GRAM[128][7]缓冲,根据原子的OLED_Refresh_Gram函数,我得出,数据元素 OLED_GRAM[0][0]将会写到
第0页的第0列,并且数据的高位写到了 y坐标的高位(0,7)点,比如OLED_GRAM[0][0] = 0x80 ; 那么坐标(0,7)会被点亮,
这也是我看了数据手册以后得到的;
假如我要点亮(0,3)按照原子的代码,将会点亮第7页的(0,61)点,
我这样理解对吗?
ssd1305 和ssd306 我看了数据手册,好像区别不是太大,我按照我的理解,修改了这两句 pos=y/8;
temp=1<<bx;
其他代码都按原子的,点亮任意屏幕上一点,都没有问题,而且坐标也对的
现在的问题是:
显示1608的字符,假如我案如下坐标显示没有问题,显示正常
OLED_ShowString(0,16,"ATOM@ALIENTEK");
OLED_ShowString(0,32,"ATOM@ALIENTEK");
但是当Y坐标是按照整页 ,就会有字符显示不正常 比如
OLED_ShowString(0,17,"ATOM@ALIENTEK");
OLED_ShowString(0,37,"ATOM@ALIENTEK");
这是啥问题了,。。。> |
|