/*! \file spi_if.h \brief spi接收发送统一接口函数 \version firmware for GD32H7xx */ #ifndef _SPI_IF_H_ #define _SPI_IF_H_ #include typedef struct { uint32_t spi; // MCU对应的SPI口 uint32_t rstPort; // 复位GPIO引脚 uint16_t rstPin; // 复位pin引脚 uint32_t csPort; // 片选GPIO引脚 uint16_t csPin; // 片选pin引脚 uint8_t initialized; // 初始化状态 } spi_dev_t; // 兼容旧结构体名称 typedef spi_dev_t spi_t; /* 对外接口函数 */ void spi_transmit_byte(uint32_t spi_periph, uint8_t data); uint8_t spi_receive_byte(uint32_t spi_periph); uint8_t spi_transmit_receive_byte(uint32_t spi_periph, uint8_t tx_data); // GPIO控制函数 void spi_cs_control(spi_dev_t *dev, uint8_t enable); void spi_rst_control(spi_dev_t *dev, uint8_t enable); // SPI初始化函数 int spi_init_dev(spi_dev_t *dev, uint32_t spi_periph, uint32_t csPort, uint16_t csPin, uint32_t rstPort, uint16_t rstPin); int spi_deinit_dev(spi_dev_t *dev); #endif