用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

点击进入授权页面

只需一步,快速开始

  • QQ空间
  • 回复
  • 收藏
  • TA的每日心情
    慵懒
    2017-7-16 11:47
  • 签到天数: 44 天

    [LV.5]常住居民I

    奈何col 攻城狮 2016-12-24 22:19 楼主
    在《Arduino程序设计基础》上介绍过u8glib这个arduino上最最牛逼的开源图形显示器驱动库:
    使用U8glib驱动12864图形液晶显示器   http://www.arduino.cn/thread-20081-1-1.html
    u8g2显示图片教程:http://www.arduino.cn/thread-42174-1-1.html


    但这里要使用的不是u8glib,而是新一代的u8g——u8g2,其和u8glib有诸多不同:

    ----------------------------------------------------------------------
    Full "RAM" memory buffer without picture loop
    Arduino SPI and TWI Libraries instead of custom code
    Support for Unicode and UTF-8
    Faster compilation
    High speed text only API (U8x8)
    Hardware 180 degree rotation for some displays available
    ----------------------------------------------------------------------

    本教程使用的显示设备——Openjumper出品的OLED模块
    43554060969

    1.安装u8g2
    ·通过IDE自带的库管理器,搜索 u8g2,点击安装即可。
    Arduino IDE使用——通过库管理器添加引用库   http://www.arduino.cn/thread-17883-1-1.html
    ·也可以通过本帖下载u8g2:
    游客,如果您要查看本帖隐藏内容请回复


    2.准备显示设备并连接到Arduino
    在u8g2中,不同的显示设备对应不同的构造函数。
    教程中使用的设备为 OpenJumper OLED模块

    3.可使用两种类实例化一个显示器对象
    u8g2提供了两类api——u8g2和u8x8,前者是标准完备的u8g api,后者是高效精简api。
    对于OpenJumper OLED模块,可以使用如下语句进行实例化:
    [C++] 纯文本查看 复制代码
    U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, SCL, SDA,resetPin); 
    U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8(SCL,SDA,resetPin); 
    


    4.使用例程即可了解如何开发

    这里提供一个显示中文的例程:
    [C++] 纯文本查看 复制代码
    #include <Arduino.h>
    #include <U8g2lib.h>
    
    Reset_Pin=2;
    
    U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,SCL,SDA,Reset_Pin);
    
    void setup(void) {
      u8g2.begin();
      u8g2.enableUTF8Print(); 
    }
    
    void loop(void) {
      u8g2.setFont(u8g2_font_unifont_t_chinese2); 
      u8g2.setFontDirection(0);
      u8g2.clearBuffer();
      u8g2.setCursor(0, 15);
      u8g2.print("www.arduino.cn");
      u8g2.setCursor(0, 40);
      u8g2.sendBuffer();
      delay(1000);
    }
    

    附 字表:
    1.请注意,你使用的中文必须在表中,且在print前,使用setFont选中对应的字表,如:
      
    [C++] 纯文本查看 复制代码
     u8g2.setFont(u8g2_font_unifont_t_chinese2); 
    u8g2.print("凹凸"); 

    2.使用中文会消耗大量的内存,更建议你使用Arduino 101、due等高配版的arduino。






    QQ截图20161224221204.jpg
    如果以上内容对你有帮助,你可以通过打赏支持作者

    1人打赏

    顶一下看看
    提示: 作者被禁止或删除 内容自动屏蔽
    Support for Unicode and UTF-8
    关键是能不能出个支持中文字符的教程。
    Waston 发表于 2016-12-25 14:27
    Support for Unicode and UTF-8
    关键是能不能出个支持中文字符的教程。

    我也在研究怎么显示中文
    如果以上内容对你有帮助,你可以通过打赏支持作者
    谢谢分享                       
    谢谢楼主分享啊
    谢谢分享     
    谢谢奉献哈哈哈
    打赏作者鼓励一下!
    发表评论
    高级模式  
    您需要登录后才可以回帖 登录 | 立即注册  
    关闭

    推荐主题 上一条 /2 下一条