T113-i 使用 ssd1307fb 驱动ssd1306的OLED显示屏,无法显示
-
以下是我的设备树配置:
oled: ssd1306@3c{compatible = "solomon,ssd1306fb-i2c"; reg = <0x3c>; reset-gpios = <&pio 1 5 GPIO_ACTIVE_LOW>; solomon,width = <128>; solomon,height = <64>; solomon,page-offset = <0>; solomon,com-lrremap; solomon,com-invdir; solomon,com-offset = <0>; solomon,lookup-table = <0x3f 0x3f 0x3f 0x3f>; status = "okay"; };
这个在打印的logo中也能够正确的识别到设备:ssd1307fb 3-003c: fb0: Solomon SSD1307 framebuffer device registered, using 1024 bytes of video memory
of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/soc@3000000/twi@2502c00/ssd1306@3c[0]' - status (0)
启动后屏幕花屏,而且使用 cat dev/urandom > dev/fb0 后花屏会变化 但是会报错误信息:
cat dev/urandom > dev/fb0
cat: write error: Invalid argument然后输入字符 echo hello > dev/fb0 屏幕上有小的黑点在变化。
i2c的地址配置都正常
i2cdetect -y 3 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
想请教大神,这个问题该怎么解决啊。。
-
看样子屏幕已经驱动起来了,你已经操作显存屏幕会发生变化,你需要按照oled的扫描方式二进制将显存写入,我猜应该是这样
-
@tsk12358 我后面把设备树里面的 disp 下面的东西给注释掉了,然后就好了,只不过这个I2C的屏幕确刷新确实好慢。。
现在还有个问题 就是启动后 屏幕会全部都被点亮,而且还啥都不显示,连光标闪烁都不显示了, 这个问题还没解决,,,不知道是不是 与TV 显示 部分有关系
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号