/** * @file softspi.h * @author Myth * @version 0.2 * @date 2021.10.12 * @brief STM32 SoftSPI Library */ #ifndef DEV_SOFT_SPI_H #define DEV_SOFT_SPI_H #include "dev_spi_conf.h" /** * @brief SoftSPI Structure definition */ typedef struct { GPIO_TypeDef *SCLK_GPIO; uint32_t SCLK_Pin; GPIO_TypeDef *MOSI_GPIO; uint32_t MOSI_Pin; GPIO_TypeDef *MISO_GPIO; uint32_t MISO_Pin; GPIO_TypeDef *SS_GPIO; uint32_t SS_Pin; GPIO_TypeDef *WP_GPIO; uint32_t WP_Pin; uint32_t Delay_Time; } SoftSPI_TypeDef; HAL_StatusTypeDef SoftSPI_Init(SoftSPI_TypeDef *SoftSPIx); void SoftSPI_SetSS(SoftSPI_TypeDef *SoftSPIx); void SoftSPI_ClrSS(SoftSPI_TypeDef *SoftSPIx); uint8_t SoftSPI_WriteRead(SoftSPI_TypeDef *SoftSPIx, uint8_t byte); void SoftSPI_WriteReadBuff(SoftSPI_TypeDef *SoftSPIx, uint8_t *pWrite, uint8_t *pRead, uint32_t len); #endif