#ifndef _MCU_BSP_SPI_H_ #define _MCU_BSP_SPI_H_ #include #include #include #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