Stimulate/main/esp32_s3_szp.h

102 lines
3.6 KiB
C
Raw Normal View History

2025-09-25 18:50:48 +08:00
#pragma once
#include <string.h>
#include "math.h"
#include "esp_err.h"
#include "esp_log.h"
#include "esp_check.h"
#include "driver/i2c.h"
#include "driver/spi_master.h"
#include "driver/ledc.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "esp_lcd_types.h"
#include "esp_lcd_panel_io.h"
#include "esp_lcd_panel_vendor.h"
#include "esp_lcd_panel_ops.h"
#include "esp_lcd_touch_ft5x06.h"
#include "esp_lvgl_port.h"
#include "driver/spi_master.h"
#include "driver/i2s_std.h"
#include "esp_spiffs.h"
#include "esp_vfs_fat.h"
#include "sdmmc_cmd.h"
#include "driver/sdmmc_host.h"
/******************************************************************************/
/*************************** LED ↓ *******************************************/
#define LED_PIN (GPIO_NUM_21) // SDA引脚
void LED_init(void);
/*************************** LED ↑ *******************************************/
/*******************************************************************************/
/******************************************************************************/
/*************************** I2C ↓ *******************************************/
#define BSP_I2C_SDA (GPIO_NUM_1) // SDA引脚
#define BSP_I2C_SCL (GPIO_NUM_2) // SCL引脚
#define BSP_I2C_NUM (0) // I2C外设
#define BSP_I2C_FREQ_HZ 100000 // 100kHz
esp_err_t bsp_i2c_init(void); // 初始化I2C接口
/*************************** I2C ↑ *******************************************/
/*******************************************************************************/
/******************************************************************************/
/*************************** AD5328BRUZ ↓ *******************************************/
#define SPI_HOST SPI2_HOST
#define PIN_CS (GPIO_NUM_10)
#define PIN_LDAC (GPIO_NUM_11)
#define PIN_MOSI (GPIO_NUM_12)
#define PIN_SCK (GPIO_NUM_13)
#define DAC_EN (GPIO_NUM_17)
#define V_REF 2.048f // 基准电压 2.048V
void init_ad5328(void);
void set_channel_voltage(uint8_t channel, float voltage);
/*************************** AD5328BRUZ ↑ *******************************************/
/*******************************************************************************/
/***********************************************************/
/**************** LCD显示屏 ↓ *************************/
#define BSP_LCD_PIXEL_CLOCK_HZ (80 * 1000 * 1000)
#define BSP_LCD_SPI_NUM (SPI3_HOST)
#define LCD_CMD_BITS (8)
#define LCD_PARAM_BITS (8)
#define BSP_LCD_BITS_PER_PIXEL (16)
#define LCD_LEDC_CH LEDC_CHANNEL_0
#define BSP_LCD_H_RES (320)
#define BSP_LCD_V_RES (240)
#define BSP_LCD_SPI_MOSI (GPIO_NUM_40)
#define BSP_LCD_SPI_CLK (GPIO_NUM_41)
#define BSP_LCD_SPI_CS (GPIO_NUM_38)
#define BSP_LCD_DC (GPIO_NUM_39)
#define BSP_LCD_RST (GPIO_NUM_NC)
#define BSP_LCD_BACKLIGHT (GPIO_NUM_42)
#define BSP_LCD_DRAW_BUF_HEIGHT (20)
esp_err_t bsp_display_brightness_init(void);
esp_err_t bsp_display_brightness_set(int brightness_percent);
esp_err_t bsp_display_backlight_off(void);
esp_err_t bsp_display_backlight_on(void);
esp_err_t bsp_lcd_init(void);
void lcd_set_color(uint16_t color);
void lcd_draw_pictrue(int x_start, int y_start, int x_end, int y_end, const unsigned char *gImage);
void bsp_lvgl_start(void);
/*************** LCD显示屏 ↑ *************************/
/***********************************************************/