57 lines
2.1 KiB
C
57 lines
2.1 KiB
C
/**
|
|
****************************************************************************************************
|
|
* @file my_spi.c
|
|
* @author 正点原子团队(ALIENTEK)
|
|
* @version V1.0
|
|
* @date 2025-01-01
|
|
* @brief MYSPI驱动代码
|
|
* @license Copyright (c) 2020-2032, 广州市星翼电子科技有限公司
|
|
****************************************************************************************************
|
|
* @attention
|
|
*
|
|
* 实验平台:正点原子 ESP32-S3 开发板
|
|
* 在线视频:www.yuanzige.com
|
|
* 技术论坛:www.openedv.com
|
|
* 公司网址:www.alientek.com
|
|
* 购买地址:openedv.taobao.com
|
|
*
|
|
****************************************************************************************************
|
|
*/
|
|
|
|
#include "my_spi.h"
|
|
|
|
|
|
/* SD卡设备句柄 */
|
|
spi_device_handle_t MY_SD_Handle = NULL;
|
|
|
|
/**
|
|
* @brief spi初始化
|
|
* @param 无
|
|
* @retval esp_err_t
|
|
*/
|
|
esp_err_t my_spi_init(void)
|
|
{
|
|
spi_bus_config_t buscfg = {
|
|
.sclk_io_num = SPI_SCLK_PIN, /* 时钟引脚 */
|
|
.mosi_io_num = SPI_MOSI_PIN, /* 主机输出从机输入引脚 */
|
|
.miso_io_num = SPI_MISO_PIN, /* 主机输入从机输出引脚 */
|
|
.quadwp_io_num = -1, /* 用于Quad模式的WP引脚,未使用时设置为-1 */
|
|
.quadhd_io_num = -1, /* 用于Quad模式的HD引脚,未使用时设置为-1 */
|
|
.max_transfer_sz = 320 * 240 * sizeof(uint16_t), /* 最大传输大小(整屏(RGB565格式)) */
|
|
};
|
|
/* 初始化SPI总线 */
|
|
ESP_ERROR_CHECK(spi_bus_initialize(MY_SPI_HOST, &buscfg, SPI_DMA_CH_AUTO));
|
|
|
|
/* SPI驱动接口配置,SPISD卡时钟是20-25MHz */
|
|
spi_device_interface_config_t devcfg = {
|
|
.clock_speed_hz = 20 * 1000 * 1000, /* SPI时钟 */
|
|
.mode = 0, /* SPI模式0 */
|
|
.spics_io_num = SD_CS_PIN, /* 片选引脚 */
|
|
.queue_size = 7, /* 事务队列尺寸 7个 */
|
|
};
|
|
|
|
/* 添加SPI总线设备 */
|
|
ESP_ERROR_CHECK(spi_bus_add_device(MY_SPI_HOST, &devcfg, &MY_SD_Handle));
|
|
|
|
return ESP_OK;
|
|
} |