60 lines
2.4 KiB
C
60 lines
2.4 KiB
C
|
|
#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
|