导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    T113-i 使用 ssd1307fb 驱动ssd1306的OLED显示屏,无法显示

    T Series
    2
    3
    685
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Z
      z2500abc LV 5 最后由 编辑

      以下是我的设备树配置:
      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: -- -- -- -- -- -- -- --
      
      

      想请教大神,这个问题该怎么解决啊。。

      1 条回复 最后回复 回复 引用 分享 0
      • T
        tsk12358 LV 4 最后由 编辑

        看样子屏幕已经驱动起来了,你已经操作显存屏幕会发生变化,你需要按照oled的扫描方式二进制将显存写入,我猜应该是这样

        Z 1 条回复 最后回复 回复 引用 分享 0
        • Z
          z2500abc LV 5 @tsk12358 最后由 编辑

          @tsk12358 我后面把设备树里面的 disp 下面的东西给注释掉了,然后就好了,只不过这个I2C的屏幕确刷新确实好慢。。
          现在还有个问题 就是启动后 屏幕会全部都被点亮,而且还啥都不显示,连光标闪烁都不显示了, 这个问题还没解决,,,不知道是不是 与TV 显示 部分有关系

          1 条回复 最后回复 回复 引用 分享 0
          • 1 / 1
          • First post
            Last post

          Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

          行为准则 | 用户协议 | 隐私权政策