cc26xxspi.c文件:
#include "cc26xxspi.h"
#include "ti/sysbios/knl/Clock.h"
#include <ti/drivers/SPI.h>
#include <ti/drivers/spi/SPICC26XXDMA.h>
#include "sdi_task.h"
#include "icall.h"
#include <string.h>
static void spi_callback_fun(SPI_Handle handle,SPI_Transaction *transaction);
//配置GPIO模式
PIN_Config SPI_CSN[2] =
{
CC2640R2_LAUNCHXL_SPI0_CSN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,
PIN_TERMINATE
};
SPICC26XXDMA_Object _spiCC26XXDMAObjects[CC2640R2_LAUNCHXL_SPICOUNT];
const SPICC26XXDMA_HWAttrsV1 _spiCC26XXDMAHWAttrs[CC2640R2_LAUNCHXL_SPICOUNT] = {
{
.baseAddr = SSI0_BASE,
.intNum = INT_SSI0_COMB,
.intPriority = ~0,
.swiPriority = 0,
.powerMngrId = PowerCC26XX_PERIPH_SSI0,
.defaultTxBufValue = 0,
.rxChannelBitMask = 1<<UDMA_CHAN_SSI0_RX,
.txChannelBitMask = 1<<UDMA_CHAN_SSI0_TX,
.mosiPin = CC2640R2_LAUNCHXL_SPI0_MOSI,
.misoPin = CC2640R2_LAUNCHXL_SPI0_MISO,
.clkPin = CC2640R2_LAUNCHXL_SPI0_CLK,
.csnPin = PIN_UNASSIGNED
},
{
.baseAddr = SSI1_BASE,
.intNum = IN