#include <stdio.h>
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/spi_master.h"
#include "esp_log.h"
static const char *TAG = "QSPI_DATA";
#define HOST_ID SPI2_HOST
// Pins anpassen
#define PIN_NUM_IO0 8
#define PIN_NUM_IO1 11
#define PIN_NUM_IO2 13
#define PIN_NUM_IO3 9
#define PIN_NUM_CLK 12
#define PIN_NUM_CS 10
void app_main(void)
{
spi_bus_config_t buscfg = {
.mosi_io_num = 11, // dein MOSI Pin
.miso_io_num = -1, // kein MISO
.sclk_io_num = 12, // dein CLK Pin
.quadwp_io_num = -1,
.quadhd_io_num = -1,
};
spi_device_interface_config_t devcfg = {
.clock_speed_hz = 10 * 1000 * 1000, // 10 MHz
.mode = 0,
.spics_io_num = 10, // dein CS Pin
.queue_size = 1,
};
spi_device_handle_t spi;
ESP_ERROR_CHECK(spi_bus_initialize(SPI2_HOST, &buscfg, SPI_DMA_CH_AUTO));
ESP_ERROR_CHECK(spi_bus_add_device(SPI2_HOST, &devcfg, &spi));
uint8_t data[] = { 0xDE, 0xAD, 0xBE, 0xEF };
spi_transaction_t t = {
.length = sizeof(data) * 8, // Länge in Bits!
.tx_buffer = data,
.rx_buffer = NULL, // MUSS NULL bleiben
};
ESP_ERROR_CHECK(spi_device_transmit(spi, &t));
}