标题: oled arduino [打印本页]

作者: NEVERNEVER    时间: 2025-4-8 15:27
标题: oled arduino
0.96的oled为啥用u8g2的库能点亮,用1306的库一直亮不了屏,扫描地址也出不来

作者: NEVERNEVER    时间: 2025-4-8 15:30
#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>

//iic驱动方式
U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   

void setup(void) {
  u8g2.begin();
}

uint8_t m = 24;

void loop(void)
{
  char m_str[3];
  strcpy(m_str, u8x8_u8toa(m, 2));    /* convert m to a string with two digits */
  u8g2.firstPage();
  do {
    u8g2.setFont(u8g2_font_logisoso62_tn);
    u8g2.drawStr(0,63,"9");
    u8g2.drawStr(33,63,":");
    u8g2.drawStr(50,63,m_str);
  }

  while ( u8g2.nextPage() );
  delay(2000);
  m++;
  if ( m == 60 )
    m = 0;
}
用这个可以点亮
#include <SPI.h>
#include <Wire.h>
#include "Adafruit_GFX.h"
#include "Adafruit_SSD1306.h"
#define SCREEN_WIDTH 128
#define SCREEN_HIGHT 64
#define OLED_REST -1
#define SCREEN_ADDRESS 0x78
Adafruit_SSD1306 display(SCREEN_WIDTH,SCREEN_HIGHT,&Wire,OLED_REST);
void setup()
{
    Serial.begin(9600);
    if(!display.begin(SSD1306_SWITCHCAPVCC,SCREEN_ADDRESS))
    {
      Serial.println(F("ssd1306 allocation failed"));
    }
    display.clearDisplay();
    display.setCursor(0,28);
    display.setTextSize(1);
    display.println(123456789);
    display.display();
    delay(2000);
   
}

void loop() {
}
这个不行




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1