画点函数是最重要也最难理解(对于新手),实际上硬件原点是在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;
}
我下面写的回复就不看了,看了会蒙
OLED画点函数心得--一图搞定(分享给有需要的同学) - 啊和的博客
单片机PID算法例子
单片机通用双线模拟通讯程序
合泰单片机触摸包大全
C语言华氏度转摄氏度 摄氏度转华氏度
合泰BS86D12C PWM初始化函数
86D20 模拟串口源码
合泰BS86D20 串口通讯源码
STM32 emWin使用SPI外挂Flash显示xbf字库
useragent_detect_device加载失败。
«点击返回