F4OLED的画点函数求大大解惑

2019-07-20 22:10发布

void OLED_DrawPoint(u8 x,u8 y,u8 t)
{
u8 pos,bx,temp=0;
if(x>127||y>63)return;
pos=7-y/8;
bx=y%8;
temp=1<<(7-bx);
if(t)OLED_GRAM[x][pos]|=temp;
else OLED_GRAM[x][pos]&=~temp;     
}
pos是确定这个点所在的页,那么,bx=y%8求余,不已经是确定这个点在这个页的位置了吗?还有请问OLED_GRAM[x][pos]|=temp;这一句我应该怎么去理解?完全想不通,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-21 03:34
多看教程啊。一个OLED没那么难。  自己给自己一个任务:写一个oled的驱动。前提:别看我的代码,根据自己的理解去写。
硕果累累
2楼-- · 2019-07-21 05:44
 精彩回答 2  元偷偷看……
694089028
3楼-- · 2019-07-21 09:35
正点原子 发表于 2016-3-23 12:56
多看教程啊。一个OLED没那么难。  自己给自己一个任务:写一个oled的驱动。前提:别看我的代码,根据自己的 ...

这个函数是不是有点问题?还是我理解错了?
每页有8行,一共8页,随便取y=41的话,就是在第6页的第1行显示一个点,也就是往OLED_GRAM[x][5]写0x80,所以pos应该=5,temp=0x80才对啊?

一周热门 更多>