avr-fw-modules/core/include/sys/spi.h

42 lines
1.1 KiB
C
Executable File

#pragma once
/************************************************************************************
hwo/intern/spi.h
Internal Structure for SPI Device Handling
************************************************************************************/
#include <stdint.h>
#define SPI_LSBFIRST 0x0001
#define SPI_MASTER 0x0002
#define SPI_IDLE_CLKHIGH 0x0004
#define SPI_PHASE_TRAILING 0x0008
/*** spi_configure(...)
Schnittstelle konfigurieren und aktivieren
***/
int spi_configure(uint32_t clk,uint32_t flags);
/*** spi_deconfigure(...)
Schnittstelle abschalten
***/
int spi_deconfigure(void);
/*** spi_transmit(...)
Daten senden/empfangen.
Inhalt von <tx> wird gesendet, Inhalt von <rx> enthält nach Aufruf empfangene Daten.
<tx> und <rx> dürfen identisch sein, der Treiber muss sicherstellen, dass erst das zu sendende Byte gelesen wird, bevor das empfangene geschrieben wird.
***/
int spi_transmit(void *tx,void *rx,uint8_t len);
int spi_transmit_ex(uint8_t chip,void *tx,void *rx,uint8_t len);
int spi_set_select(void(*select)(uint8_t chip));