20231023_InSituLab_emb/InsituLabProject_QRS/Src/Usr/Bsp/McuBspSpi.h
Rjh913828050 4e26d518da 类型:更细
内容:更新十四五程序
人员:任家豪
2024-07-31 08:56:07 +08:00

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