9ceb218f80
Co-authored-by: Cursor <cursoragent@cursor.com>
42 lines
1.0 KiB
C
42 lines
1.0 KiB
C
/*!
|
|
\file spi_if.h
|
|
\brief spi接收发送统一接口函数
|
|
|
|
\version firmware for GD32H7xx
|
|
*/
|
|
|
|
#ifndef _SPI_IF_H_
|
|
#define _SPI_IF_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
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
|
|
|
|
|