论坛» 嵌入式开发» STM32

【炫Q-STM32】NUCLEO L053R8 边玩边学(三)-点亮OLED

专家
2015-11-12 22:41 1楼

其实上一篇是补的作业,顺便鄙视卓大的帖子都是文字,没有图片,听说可以用屏幕,就翻箱倒柜,可以一块屏幕都没找到,最后找到一块OLED的屏幕,据说升值了,管他呢,IIC接口的,好了就是它了

专家
2015-11-12 22:43 2楼

这种OLED屏的主控芯片一般是SSD1306,听说不用移植,直接搜库“SSD1306”

专家
2015-11-12 22:45 3楼

Adafruit这个标志比较熟悉,好吧就它了,点进去,导入库


专家
2015-11-12 22:46 4楼

下边的代码稍做修改,只要是IIC的引脚要接对,没有RST随便写了一个

/* * Copyright (c) 2012 Neal Horman - http://www.wanlink.com * * License: MIT open source (http://opensource.org/licenses/MIT) * Summary; * Use / modify / distribute / publish it how you want and * if you use it, or don't, you can't hold me liable for how * it does or doesn't work. * If it doesn't work how you want, don't use it, or change * it so that it does work. */ #include "mbed.h" #include "Adafruit_SSD1306.h" DigitalOut myled(LED1); class I2CPreInit : public I2C { public: I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl) { frequency(400000); start(); }; }; I2CPreInit gI2C(I2C_SDA, I2C_SCL); Adafruit_SSD1306_I2c gOled2(gI2C,D13,0x78,64,128); int main() { uint16_t x=0; gOled2.printf("%ux%u OLED Display\r\n", gOled2.width(), gOled2.height()); while(1) { myled = !myled; gOled2.printf("%u\r",x); gOled2.display(); x++; wait(1.0); } }

专家
2015-11-12 22:48 5楼

就这么简单,编译,下载,OLED就亮了起来,有图有真相

专家
2015-11-12 22:50 6楼
好吧,也可以修改库,不过暂时没有这个水平,倒是可以考虑尝试做一些自己的画面,慢慢学习吧
专家
2015-11-12 22:52 7楼
竟然鄙视我
助工
2015-11-12 22:56 8楼
来膜拜
专家
2015-11-12 23:23 9楼
来膜拜
共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]