OLED画点函数心得--一图搞定(分享给有需要的同学)

2019-08-14 07:47发布

本帖最后由 664634241 于 2017-7-21 00:06 编辑

画点函数是最重要也最难理解(对于新手),实际上硬件原点是在P点,沿X轴向上翻转180度,得到右图,是与datasheet一致的.真正意义上页分布
例如要在屏幕A(100,13)画点,实际对应的是A‘,值得注意的是因为要上下颠倒,所以本来是00001000,翻转后变00010000
//画点
//x:0~127
//y:0~63
//t:1 填充 0,清空                                   
void OLED_DrawPoint(u8 x,u8 y,u8 t)
{
        u8 pos,bx,temp=0;
        if(x>127||y>63)return;//超出范围了.
        pos=7-y/8;  //当正常面对屏幕,由上至下是页7~0,左下角才是原点,就是为了纠正到实际页号
        bx=y%8;     //这里是为了要移位,因为沿x轴翻转,自然上下要调换,你可以在坐标系上画个q,沿x轴翻转后得到的d
        temp=1<<(7-bx);  //"1"左移(7-bx)个位  ,这里易错,误以为(7-bx)左移1个位
        if(t)OLED_GRAM[x][pos]|=temp;  
        else OLED_GRAM[x][pos]&=~temp;            
}
我下面写的回复就不看了,看了会蒙


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。