战舰 oled显示 部分程序段不理解

2019-10-14 23:51发布

假设 xy  [18][18]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
aboutzhao
1楼-- · 2019-10-15 02:32
 精彩回答 2  元偷偷看……
穹顶之下
2楼-- · 2019-10-15 03:15
穹顶之下
3楼-- · 2019-10-15 07:11

//画点   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=y/8;              //共8页(0~7),y/8指的要写的哪一页   7-y/8
        bx=y%8;                 //y%8指的要写的某一页的具体哪一位
        temp=1<<(bx);         //只对指定位写值                     1<<(7-bx)
        (t)>0?(OLED_GRAM[x][pos]|=temp)OLED_GRAM[x][pos]&=~temp);
}
穹顶之下
4楼-- · 2019-10-15 08:16
穹顶之下 发表于 2017-2-24 12:52
//画点   x:0~127  y:0~63  t:1 填充 0,清空                          
void OLED_DrawPoint(u8 x,u8 y,u8 t)
{

不明白这部分是因为你不熟悉datasheet,不知道OLED的显存分布和显示具体的实现过程。建议多看手册,代码只是表示形式,datasheet一定得看。。。。

一周热门 更多>