新手上路
- 积分
- 20
- 金钱
- 20
- 注册时间
- 2017-7-20
- 在线时间
- 5 小时
|

楼主 |
发表于 2017-7-20 22:53:53
|
显示全部楼层
三。
写函数就是发送数据的具体操作,按照时序图来操作就可以了
四。
画点函数这是最基本也是最重要的我觉得
//画点
//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; // 移位,因为上下颠倒过来
temp=1<<(7-bx); //这是易错点,请注意,本人就是卡在这,"1"左移(7-bx)个位,不是(7-bx)左移1个位
if(t)OLED_GRAM[x][pos]|=temp;
else OLED_GRAM[x][pos]&=~temp;
}
直接举例画(33,33)这点,计算后OLED_GRAM[33][3]|=01000000; 在GRAM的33行3列,对应到OLED(沿x轴翻转180度,P为原点)如图3,自己在尝试几个点看看,你就知道为啥pos=7-y/8 |
|