为什么IAR能正常编译,单不能在OLED上显示

为什么IAR能正常编译,单不能在OLED上显示,第1张

能正常编译并不表示代码能正常驱动OLED屏幕。要是驱动代码是你自己编写的,说明代码有bug。要是你用的是别人验证过的代码,那就有可能是硬件问题,或你的代码和oled屏幕并不配套。就像电脑上你用个网卡驱动去显卡,你觉得行么?

首先建个显存数组,将要显示的数据写入显存里,再将整个显存通过显示图片的方式写入5110的RAM里显示就OK啦!我的12864OLED也读不出内部的DDRAM,但我刚用这种方法给12864OLED打点了。

unsigned char xdata memory[128] //显存

 

 

//在随意坐标上画点

void OLED_Drawpoint(unsigned char x, unsigned char y,bit dat)

{//x,y,行列坐标;dat,1写,0擦除 

unsigned char rdata

rdata=memory[y/8*128+x] //先将对应的字节数据从显存数组读出来

if(dat==1){

memory[y/8*128+x]=rdata|(0x01<<(y%8))//将读出来的数据加上添加点的数据

}

else{

memory[y/8*128+x]=rdata-(0x01<<(y%8))

}

}

 

 

OLED_DrawBMP(0,0,128,8,memory)//(显示图片函数)将显存的数据导入显示屏


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11429534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存