关于oled gram的问题

2019-10-15 19:12发布

oled显示时是竖向的取模,gram为何要写成这样的数组?

//OLED的显存
//存放格式如下.
//[0]0 1 2 3 ... 127 
//[1]0 1 2 3 ... 127 
//[2]0 1 2 3 ... 127 
//[3]0 1 2 3 ... 127 
//[4]0 1 2 3 ... 127 
//[5]0 1 2 3 ... 127 
//[6]0 1 2 3 ... 127 
//[7]0 1 2 3 ... 127     
u8 OLED_GRAM[128][8];

我怎么觉得应该是这样 u8 OLED_GRAM[8][128];
还是没搞懂oled gram的对于关系!



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
正点原子
1楼-- · 2019-10-15 21:35
u8 OLED_GRAM[128][8];
128对应的是X坐标。
8对应的是Y坐标。
128每个代表一个X坐标。
8每个代表8个Y坐标。
Nirvana_Slience
2楼-- · 2019-10-16 00:17
是不是这样理解,数据都是同样的数据只是存放的格式不同?同样也可以改成[8][128]来存放,不过一般习惯x ,y这样的顺序
speedwang
3楼-- · 2019-10-16 01:57
这个我也有问题啊??很不明白,按照数组不是说前面是行数后面是列数吗
小温
4楼-- · 2019-10-16 03:58
回复【2楼】正点原子:
---------------------------------
原子哥,《STM32不完全手册V2.3》第161页倒数第三行“一个通用的在点(x,y)置1表达式为:OLED_GRAM[x][y/8]|=1<<(7-y%8);”是否有误?根据画点函数“void OLED_DrawPoint(u8 x,u8 y,u8 t);”,通用画点表达式是否应为“OLED_GRAM[x][7-(y/8)]|=1<<(7-y%8);”?
正点原子
5楼-- · 2019-10-16 04:21
 精彩回答 2  元偷偷看……
小温
6楼-- · 2019-10-16 08:30
回复【6楼】正点原子:
---------------------------------
还不是很懂,请原子哥举例明示。手册V2.3第161页,"比如,我们要在 x=100,y=29 这个点写入 1,则可以用这个句子实现:OLED_GRAM[100][4]|=1<<2;一个通用的在点(x,y)置 1 表达式为:OLED_GRAM[x][y/8]|=1<<(7-y%8);"。。。。。这个句子里,把y=29代入表达式,得出的是OLED_GRAM[100][3]|=1<<2啊。

一周热门 更多>