102 lines
3.6 KiB
C
102 lines
3.6 KiB
C
#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显示屏 ↑ *************************/
|
|
/***********************************************************/
|
|
|
|
|