117 lines
4.5 KiB
C
117 lines
4.5 KiB
C
#ifndef _MCU_BSP_SPI_H_
|
|
#define _MCU_BSP_SPI_H_
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
|
|
#include "cpu.h"
|
|
#include "os.h"
|
|
#include "bsp_int.h"
|
|
#include "bsp_sys.h"
|
|
#include "lib_def.h"
|
|
|
|
#include "driverlib/sysctl.h"
|
|
#include "driverlib/gpio.h"
|
|
#include "driverlib/pin_map.h"
|
|
#include "driverlib/ssi.h"
|
|
#include "driverlib/interrupt.h"
|
|
|
|
#include "inc/hw_memmap.h"
|
|
#include "inc/hw_ssi.h"
|
|
#include "inc/hw_ints.h"
|
|
|
|
#define MCU_BSP_SPI_ALL_NUM 4
|
|
|
|
#define MCU_BSP_SPI_MASTER SSI_MODE_MASTER
|
|
#define MCU_BSP_SPI_SLAVE SSI_MODE_SLAVE
|
|
|
|
#define MCU_BSP_SPI_OFF 0
|
|
#define MCU_BSP_SPI_ON 1
|
|
|
|
#define MCU_BSP_SPI_CS_UP 1
|
|
#define MCU_BSP_SPI_CS_DOWN 0
|
|
|
|
#define MCU_BSP_SPI_READWRITE_ENABLE 1
|
|
#define MCU_BSP_SPI_READWRITE_DISABLE 0
|
|
|
|
/* SPI硬件配置 */
|
|
#define MCU_BSP_SPI0 0
|
|
#define MCU_BSP_SPI0_CLK_GPIO_CONF GPIO_PA2_SSI0CLK
|
|
#define MCU_BSP_SPI0_CLK_GPIO GPIO_PORTA_BASE
|
|
#define MCU_BSP_SPI0_CLK_GPIO_PIN GPIO_PIN_2
|
|
#define MCU_BSP_SPI0_CLK_GPIO_CLK SYSCTL_PERIPH_GPIOA
|
|
#define MCU_BSP_SPI0_FSS_GPIO_CONF GPIO_PA3_SSI0FSS
|
|
#define MCU_BSP_SPI0_FSS_GPIO GPIO_PORTA_BASE
|
|
#define MCU_BSP_SPI0_FSS_GPIO_PIN GPIO_PIN_3
|
|
#define MCU_BSP_SPI0_FSS_GPIO_CLK SYSCTL_PERIPH_GPIOA
|
|
#define MCU_BSP_SPI0_TX_GPIO_CONF GPIO_PA4_SSI0XDAT0
|
|
#define MCU_BSP_SPI0_TX_GPIO GPIO_PORTA_BASE
|
|
#define MCU_BSP_SPI0_TX_GPIO_PIN GPIO_PIN_4
|
|
#define MCU_BSP_SPI0_TX_GPIO_CLK SYSCTL_PERIPH_GPIOA
|
|
#define MCU_BSP_SPI0_RX_GPIO_CONF GPIO_PA5_SSI0XDAT1
|
|
#define MCU_BSP_SPI0_RX_GPIO GPIO_PORTA_BASE
|
|
#define MCU_BSP_SPI0_RX_GPIO_PIN GPIO_PIN_5
|
|
#define MCU_BSP_SPI0_RX_GPIO_CLK SYSCTL_PERIPH_GPIOA
|
|
|
|
#define MCU_BSP_SPI1 1
|
|
#define MCU_BSP_SPI1_CLK_GPIO_CONF GPIO_PB5_SSI1CLK
|
|
#define MCU_BSP_SPI1_CLK_GPIO GPIO_PORTB_BASE
|
|
#define MCU_BSP_SPI1_CLK_GPIO_PIN GPIO_PIN_5
|
|
#define MCU_BSP_SPI1_CLK_GPIO_CLK SYSCTL_PERIPH_GPIOB
|
|
#define MCU_BSP_SPI1_FSS_GPIO_CONF GPIO_PB4_SSI1FSS
|
|
#define MCU_BSP_SPI1_FSS_GPIO GPIO_PORTB_BASE
|
|
#define MCU_BSP_SPI1_FSS_GPIO_PIN GPIO_PIN_4
|
|
#define MCU_BSP_SPI1_FSS_GPIO_CLK SYSCTL_PERIPH_GPIOB
|
|
#define MCU_BSP_SPI1_TX_GPIO_CONF GPIO_PE4_SSI1XDAT0
|
|
#define MCU_BSP_SPI1_TX_GPIO GPIO_PORTE_BASE
|
|
#define MCU_BSP_SPI1_TX_GPIO_PIN GPIO_PIN_4
|
|
#define MCU_BSP_SPI1_TX_GPIO_CLK SYSCTL_PERIPH_GPIOE
|
|
#define MCU_BSP_SPI1_RX_GPIO_CONF GPIO_PE5_SSI1XDAT1
|
|
#define MCU_BSP_SPI1_RX_GPIO GPIO_PORTE_BASE
|
|
#define MCU_BSP_SPI1_RX_GPIO_PIN GPIO_PIN_5
|
|
#define MCU_BSP_SPI1_RX_GPIO_CLK SYSCTL_PERIPH_GPIOE
|
|
|
|
#define MCU_BSP_SPI2 2
|
|
#define MCU_BSP_SPI2_CLK_GPIO_CONF GPIO_PD3_SSI2CLK
|
|
#define MCU_BSP_SPI2_CLK_GPIO GPIO_PORTD_BASE
|
|
#define MCU_BSP_SPI2_CLK_GPIO_PIN GPIO_PIN_3
|
|
#define MCU_BSP_SPI2_CLK_GPIO_CLK SYSCTL_PERIPH_GPIOD
|
|
#define MCU_BSP_SPI2_FSS_GPIO_CONF GPIO_PD2_SSI2FSS
|
|
#define MCU_BSP_SPI2_FSS_GPIO GPIO_PORTD_BASE
|
|
#define MCU_BSP_SPI2_FSS_GPIO_PIN GPIO_PIN_2
|
|
#define MCU_BSP_SPI2_FSS_GPIO_CLK SYSCTL_PERIPH_GPIOD
|
|
#define MCU_BSP_SPI2_TX_GPIO_CONF GPIO_PD1_SSI2XDAT0
|
|
#define MCU_BSP_SPI2_TX_GPIO GPIO_PORTD_BASE
|
|
#define MCU_BSP_SPI2_TX_GPIO_PIN GPIO_PIN_1
|
|
#define MCU_BSP_SPI2_TX_GPIO_CLK SYSCTL_PERIPH_GPIOD
|
|
#define MCU_BSP_SPI2_RX_GPIO_CONF GPIO_PD0_SSI2XDAT1
|
|
#define MCU_BSP_SPI2_RX_GPIO GPIO_PORTD_BASE
|
|
#define MCU_BSP_SPI2_RX_GPIO_PIN GPIO_PIN_0
|
|
#define MCU_BSP_SPI2_RX_GPIO_CLK SYSCTL_PERIPH_GPIOD
|
|
|
|
#define MCU_BSP_SPI3 3
|
|
#define MCU_BSP_SPI3_CLK_GPIO_CONF GPIO_PF3_SSI3CLK
|
|
#define MCU_BSP_SPI3_CLK_GPIO GPIO_PORTF_BASE
|
|
#define MCU_BSP_SPI3_CLK_GPIO_PIN GPIO_PIN_3
|
|
#define MCU_BSP_SPI3_CLK_GPIO_CLK SYSCTL_PERIPH_GPIOF
|
|
#define MCU_BSP_SPI3_FSS_GPIO_CONF GPIO_PF2_SSI3FSS
|
|
#define MCU_BSP_SPI3_FSS_GPIO GPIO_PORTF_BASE
|
|
#define MCU_BSP_SPI3_FSS_GPIO_PIN GPIO_PIN_2
|
|
#define MCU_BSP_SPI3_FSS_GPIO_CLK SYSCTL_PERIPH_GPIOF
|
|
#define MCU_BSP_SPI3_TX_GPIO_CONF GPIO_PF1_SSI3XDAT0
|
|
#define MCU_BSP_SPI3_TX_GPIO GPIO_PORTF_BASE
|
|
#define MCU_BSP_SPI3_TX_GPIO_PIN GPIO_PIN_1
|
|
#define MCU_BSP_SPI3_TX_GPIO_CLK SYSCTL_PERIPH_GPIOF
|
|
#define MCU_BSP_SPI3_RX_GPIO_CONF GPIO_PF0_SSI3XDAT1
|
|
#define MCU_BSP_SPI3_RX_GPIO GPIO_PORTF_BASE
|
|
#define MCU_BSP_SPI3_RX_GPIO_PIN GPIO_PIN_0
|
|
#define MCU_BSP_SPI3_RX_GPIO_CLK SYSCTL_PERIPH_GPIOF
|
|
|
|
int McuBspSpiInit(uint8_t SpiId, uint8_t SpiMoto, uint8_t SpiMode, uint32_t SpiSpeed, uint8_t SpiDataWidth);
|
|
int McuBspSpiWriteReadByte(uint8_t SpiId, uint8_t TxData, uint8_t *RxData);
|
|
int McuBspSpiModifyConf(uint8_t SpiId, uint8_t *SpiMoto, uint8_t *SpiMode, uint32_t *SpiSpeed, uint8_t *SpiDataWidth);
|
|
int McuBspSpiCs(uint8_t SpiId, uint8_t Status);
|
|
|
|
#endif
|