#ifndef _MCU_BSP_SPI_H_ #define _MCU_BSP_SPI_H_ #include "stm32f1xx_hal.h" #define MCU_BSP_SPI_SPEED_MODE_HIGH 0 #define MCU_BSP_SPI_SPEED_MODE_MEDIUM 1 #define MCU_BSP_SPI_SPEED_MODE_LOW 2 #define MCU_BSP_SPI_CS_HIGH GPIO_PIN_SET #define MCU_BSP_SPI_CS_LOW GPIO_PIN_RESET #define MCU_BSP_SPI3_USE_FLAG 1 // 硬件电路是否存在该功能 #define MCU_BSP_SPI3_ID 3 #define MCU_BSP_SPI3_BAUDRATEPRESCALER SPI_BAUDRATEPRESCALER_4 #define MCU_BSP_SPI3_DIRECTION SPI_DIRECTION_2LINES #define MCU_BSP_SPI3_CLKPHASE SPI_PHASE_1EDGE #define MCU_BSP_SPI3_CLKPOLARITY SPI_POLARITY_LOW #define MCU_BSP_SPI3_DATASIZE SPI_DATASIZE_8BIT #define MCU_BSP_SPI3_FIRSTBIT SPI_FIRSTBIT_MSB #define MCU_BSP_SPI3_TIMODE SPI_TIMODE_DISABLE #define MCU_BSP_SPI3_CRCCALCULATION SPI_CRCCALCULATION_DISABLE #define MCU_BSP_SPI3_CRCPOLYNOMIAL 7 #define MCU_BSP_SPI3_NSS SPI_NSS_SOFT #define MCU_BSP_SPI3_MODE SPI_MODE_MASTER #define MCU_BSP_SPI3_SCK_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define MCU_BSP_SPI3_SCK_GPIO GPIOB #define MCU_BSP_SPI3_SCK_PIN GPIO_PIN_3 #define MCU_BSP_SPI3_SCK_PIN_PULL GPIO_NOPULL // 根据电路原理图上是否有上拉决定 #define MCU_BSP_SPI3_MISO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define MCU_BSP_SPI3_MISO_GPIO GPIOB #define MCU_BSP_SPI3_MISO_PIN GPIO_PIN_4 #define MCU_BSP_SPI3_MISO_PIN_PULL GPIO_NOPULL // 根据电路原理图上是否有上拉决定 #define MCU_BSP_SPI3_MOSI_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define MCU_BSP_SPI3_MOSI_GPIO GPIOB #define MCU_BSP_SPI3_MOSI_PIN GPIO_PIN_5 #define MCU_BSP_SPI3_MOSI_PIN_PULL GPIO_NOPULL // 根据电路原理图上是否有上拉决定 #define MCU_BSP_SPI3_CS_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() #define MCU_BSP_SPI3_CS_GPIO GPIOA #define MCU_BSP_SPI3_CS_PIN GPIO_PIN_15 #define MCU_BSP_SPI3_CS_PIN_PULL GPIO_PULLUP // 根据电路原理图上是否有上拉决定 /* 初始化 */ int McuBspSpiInit(uint8_t SpiId); /* SPI的读写 */ unsigned char McuBspSpiReadWriteByte(uint8_t SpiId, uint8_t Data); /* 设置SD卡通信速度 */ int McuBspSpiSetSpeed(uint8_t SpiId, uint8_t mode); /* CS片选 */ void McuBspSpiCs(uint8_t SpiId, uint8_t flag); /* SPI SLEEP */ void McuBspSpiSleep(void); /* SPI WakeUp */ void McuBspSpiWakeUp(void); #endif