OLED显示是最基本的外设驱动,这次ssd1306使用IIC来驱动。
在MAX32625PICO开发板中,有i2c的接口,分别为P1_6、P1_7。
在工程,先初始化I2C:
2、接下来新建ssd1306的驱动,以及字库:
驱动详见附件,修改主程如下:
#include "mbed.h" #include "platform/mbed_thread.h" #include "USBSerial.h" #include "max32625pico.h" #include "SerialInterface.h" #include "SSD1306.h" // 包含新的头文件 // Blinking rate in milliseconds #define BLINKING_RATE_MS 500 I2C i2c(P1_6, P1_7); SSD1306 display(&i2c); int main() { // Initialise the digital pin LED1 as an output DigitalOut rLED(LED1); DigitalOut gLED(LED2); DigitalOut bLED(LED3); display.init(); display.clear(); // 绘制一个点 display.setCursor(0, 0); // 设置起始位置 display.writeString("Hello, World!"); // 显示字符串 display.setCursor(0, 10); // 设置新位置 display.writeString("This is a test"); // 显示多行文本 display.update(); // 更新屏幕显示 while (true) { bLED = !bLED; gLED = !gLED; thread_sleep_for(BLINKING_RATE_MS); } }
5、编译后下载到开发板,显示效果如下:
ssd1306驱动:
ssd1306.zip