u8g2驱动1.3寸oled乱码,看网上说写入数据的地址需要向右偏移2位。需要怎么修改?
查看更多
一、没使用过这个屏幕;二、不过看你说的需要在写入数据的地址上偏移2位;1.首先你需要定位写入数据的函数是什么;2.之后在函数中添加一个地址偏移2位的代码;具体如何添加、还有需要注意什么,需要你根据代码的实际情况来进行修改;
在u8x8_d_ssd1306_128x64_noname.c文件里的306、307行
/* default_x_offset = */ 0, /* flipmode_x_offset = */ 0,
/* default_x_offset = */ 0,
/* flipmode_x_offset = */ 0,
改为
/* default_x_offset = */ 2, /* flipmode_x_offset = */ 2,
/* default_x_offset = */ 2,
/* flipmode_x_offset = */ 2,
我使用裸机移植过来的1.3寸oled程序修改之后显示是正常的
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
.3寸OLED SSD1106往0x00地址写数据前要往0x40地址写三个命令, 0XB0-7是页地址, 0X00~0X0F是低位列地址, 0X10~0X1F是高位列地址. 解决方法是写数据前设置地址的0x00改为0x02.
我找到了写入函数,传入的是一个结构体并没看到写数据前的地址设置
@认清自我
一、看你研究驱动1.3寸oled已经在寄存器配置阶段了;裸机移植成功,那么关于初始化寄存器方面应该没问题;
二、那就重点看看u8g2驱动方面的函数;
三、如果还不行,试试使用裸机的初始化oled;u8g2只使用它的应用函数看是否可行;