电子DIY小家 发表于 2024-4-12 08:09:11

Avid+ 发表于 2024-4-11 21:10
冲哥 显示范围怎么改啊?
128*64 iic 我直接套用你的显示函数很方便,OLED屏显示原理我都不用学了,省了 ...

驱动芯片一样的话,显示的y轴位置改下就好啦~原来最大是64,你改成32最大就好了

Avid+ 发表于 2024-4-12 11:48:56

电子DIY小家 发表于 2024-4-12 08:09
驱动芯片一样的话,显示的y轴位置改下就好啦~原来最大是64,你改成32最大就好了 ...

冲哥,是oled.c 这个文件吗?没找到Y最大64在什么地方

luxiaojian 发表于 2024-4-14 22:46:52

测试画斜线时会出现不正常现象,感觉斜率大了不正常,但是完全水平或垂直又是正常的。
测试时给的是直接坐标数据
OLED_BuffShowLine(4,56,124,16); //比如画这一条,就是正常的。
OLED_BuffShowLine(52,41,56,34); // 但是这一条不正常
具体现象就是OLED_BuffShowPoint(x,(unsigned char)(y1-(u16)(y1-y2)*(u16)x/(u16)(x2-x1))计算出来的y坐标是-50,
转换成unsigned char类型后是206,远超过Y轴的范围。

感应加热007 发表于 2024-4-17 08:50:01

{:5_332:}支持,真棒~~!

yangyukui2 发表于 2024-4-22 11:58:46

感谢楼主分享!真的很不错{:4_168:}

LoveAmanda 发表于 2024-4-27 08:22:06

{:5_332:}

大明狐 发表于 2024-4-29 09:16:02

Avid+ 发表于 2024-4-11 21:10
冲哥 显示范围怎么改啊?
128*64 iic 我直接套用你的显示函数很方便,OLED屏显示原理我都不用学了,省了 ...

12864的驱动用在12832上,需要改动初始化OLED_Init里的两处指令:

第一个是找到A8h指令
        OLED_WR_Byte(0xA8, OLED_CMD);//多路复用同比率设置
        OLED_WR_Byte(0x3F, OLED_CMD);
其中0x3F表示64行,也就是12864的设置
如果是12832显示屏,就设置成0x1F;

第二处是找到DAh指令
        OLED_WR_Byte(0xDA, OLED_CMD);//设置列引脚硬件配置
        OLED_WR_Byte(0x12, OLED_CMD);
其中0x12是12864的设置
如果是12832显示屏,就设置成0x02;

然后就可以像12864一样正常使用了,只不过操作时的行数,从8行变成4行,其余都一样。



Rain_Personal 发表于 2024-4-29 14:21:39

有机会尝试一下,先插个眼

LoveAmanda 发表于 2024-4-30 10:37:45

{:5_332:}{:5_332:}

deng560258 发表于 2024-5-3 19:22:12

电子DIY小家 发表于 2023-7-19 09:30
乱码了,把路径里的中文去掉

整型不能反显
页: 1 2 3 4 5 [6] 7 8 9
查看完整版本: 32G12K128驱动OLED12864,SPI或I2C两种方式