#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/i2c.h"
#include "ssd1306.h" // Include Adafruit SSD1306 library (adjust as needed)
#define I2C_MASTER_SCL_IO 22
#define I2C_MASTER_SDA_IO 21
#define I2C_MASTER_NUM I2C_NUM_0
#define I2C_MASTER_FREQ_HZ 100000
#define OLED_ADDR 0x3C
void i2c_master_init(void) {
i2c_config_t conf = {
.mode = I2C_MODE_MASTER,
.sda_io_num = I2C_MASTER_SDA_IO,
.sda_pullup_en = GPIO_PULLUP_ENABLE,
.scl_io_num = I2C_MASTER_SCL_IO,
.scl_pullup_en = GPIO_PULLUP_ENABLE,
.master.clk_speed = I2C_MASTER_FREQ_HZ,
};
i2c_param_config(I2C_MASTER_NUM, &conf);
i2c_driver_install(I2C_MASTER_NUM, conf.mode, 0, 0, 0);
}
void app_main(void) {
i2c_master_init();
ssd1306_init(); // Initialize the OLED display
ssd1306_clear(); // Clear the display
ssd1306_set_text_cursor(0, 0); // Set text cursor position
ssd1306_write_text("Hello, World!"); // Write text to display
while (1) {
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
Loading
esp32-c6-devkitc-1
esp32-c6-devkitc-1
Loading
ssd1306
ssd1306