fjjjnk1234 发表于 2015-11-15 20:31:21

【NUCLEO-L476RG开发】基于mbed开发环境的OLED驱动

本帖最后由 fjjjnk1234 于 2015-11-15 20:34 编辑

STM32 Nucleo的板子带有Arduino接口,支持mbed开发环境,使用mbed开发跟Arduino有点类似,能够快速利用已有的资源完成设计,非常适合业余时间DIY小作品,不过用来开发产品感觉就不合适了。在本帖中将分享快速使用mbed驱动OLED。在mbed的code页面,有很多网友开源的代码,跟github有点像,为了快速完成设计,我们可以利用这些代码,加以修改,使之适合自己的板子。比如,我们可以搜索OLED,就能看到很多关于OLED的资源了。

我选择了一个SSD1306 OLED相关的代码首先,新建一个空白工程红框中的文件需要导入,为了方便,我直接从LED的模板实例中copy过来
接着,Import this program导入完成后,就能直接使用他的驱动库,将驱动库copy到我们的工程中主函数也可以使用,板子与OLED引脚连接的部分修改一下,程序就能使用了OLED与Nucleo板子的连接CS——D9RST——D8DC——D10CLK——D13DIN——D11int main()
{
    oled.initialise();
    oled.clear();
    oled.set_contrast(255); // max contrast
   
    while(1)
    {
      
    oled.drawBitmap(30, 16,logo16_glcd_bmp, 16, 16);
    oled.update();
    wait(3);
   
    testdrawline();
   
    oled.clear();
    testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH);

    oled.set_font(bold_font, 8);
    oled.printf("Heading\r\n");

    oled.set_font(standard_font, 6);
    oled.printf("Hello World!\r\n");
    oled.printf("Some more text here...\r\n\r\n\r\n\r\n");
    // oled.set_font(bold_font, 8);
    oled.line(127, 0, 0, 63);

    oled.update();
    wait(1);

    int i = 10;
    while (i > 0)
    {
      wait(1);
      oled.printf("%d\r\n", i--);
      oled.update();
      oled.scroll_up();
    }
   
    oled.clear();
   
    } // end outside loop for OLED demo
}实际效果还不错,照片拍得不好,感兴趣的朋友可以尝试下程序占用的Flash和RAM也一目了然

戏如人生 发表于 2015-11-15 20:49:47

赞一个!!!!

lkl0305 发表于 2015-11-15 22:42:26

多谢分享,不过楼主的手机该换了:lol

xiaojuner 发表于 2015-11-16 07:51:13

好,66666666666666666

DAHAIGE-355079 发表于 2015-11-16 08:19:39

赞一个。。。。。。。。。。。。

肽宰1 发表于 2015-11-16 10:02:27

多谢分享:lol:lol:lol

杉树林-罗 发表于 2015-11-16 10:19:57

请教一下楼主所用的开发环境是什么?

fjjjnk1234 发表于 2015-11-16 10:42:31

杉树林-罗 发表于 2015-11-16 10:19
请教一下楼主所用的开发环境是什么?

mbed,跟Arduino开发有点类似
页: [1]
查看完整版本: 【NUCLEO-L476RG开发】基于mbed开发环境的OLED驱动