Files
2026-08-31 15:05:13 +08:00

44 lines
1.1 KiB
C

#ifndef _EPD_SPI_H_
#define _EPD_SPI_H_
#include "driver/gpio.h"
#include "driver/spi_master.h"
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#ifdef __cplusplus
extern "C" {
#endif
// Pin Definitions for ESP32-C3
// SPI2 Host is used for C3
#define EPD_SCK_PIN GPIO_NUM_4
#define EPD_MOSI_PIN GPIO_NUM_6
#define EPD_CS_PIN GPIO_NUM_7
#define EPD_DC_PIN GPIO_NUM_3
#define EPD_RST_PIN GPIO_NUM_2
#define EPD_BUSY_PIN GPIO_NUM_10
#define isEPD_W21_BUSY gpio_get_level(EPD_BUSY_PIN)
#define EPD_W21_RST_0 gpio_set_level(EPD_RST_PIN, 0)
#define EPD_W21_RST_1 gpio_set_level(EPD_RST_PIN, 1)
#define EPD_W21_DC_0 gpio_set_level(EPD_DC_PIN, 0)
#define EPD_W21_DC_1 gpio_set_level(EPD_DC_PIN, 1)
#define EPD_W21_CS_0 gpio_set_level(EPD_CS_PIN, 0)
#define EPD_W21_CS_1 gpio_set_level(EPD_CS_PIN, 1)
void EPD_SPI_Init(void);
void SPI_Write(unsigned char value);
void EPD_W21_WriteDATA(unsigned char datas);
void EPD_W21_WriteCMD(unsigned char command);
unsigned char EPD_W21_ReadDATA(void);
#define delay(ms) vTaskDelay((ms) / portTICK_PERIOD_MS)
#ifdef __cplusplus
}
#endif
#endif