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;            
}
我下面写的回复就不看了,看了会蒙


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
39035605
1楼-- · 2019-08-14 13:16
学习学习。。。
664634241
2楼-- · 2019-08-14 19:09
二。
    我们第一点是从正面分析的,然而实际上原点是在P点如图2,就是沿着X轴翻转180度,就变成页7在上,页0在下了,同时低位在上,高位在下,这是datasheet提供的,x坐标其实做了remap,新手可以就理解为不变就是了
664634241
3楼-- · 2019-08-14 22:54
 精彩回答 2  元偷偷看……
664634241
4楼-- · 2019-08-15 00:46
剩下的写字符,2位数字,字符串都是重点,看多几遍就懂了
春心荡漾
5楼-- · 2019-08-15 03:27
谢谢分享
l6931639
6楼-- · 2019-08-15 06:24
谢谢分享,虽然还没有做过oled,但是看你的教程耳目一新啊!

一周热门 更多>