TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640R2F SPI发送数据没波形

Dear All

在CC2640R2F的simple_peripheral的工程添加了SPI的驱动,代码如下,可以调用测量一直没波形,抓打印已经是有跑到SPI写数据的函数了

在SimplePeripheral_init里面已经加了void SPI_Init(void)

在SimplePeripheral_taskFxn的开头按如下添加

uint8_t temp[1] = {0xff};
SimplePeripheral_init();
SPI_ReadWriteData(temp, NULL, sizeof(uint8_t));
// Application main loop

下面是SPI的驱动代码,请帮忙看看哪里有问题,谢谢

/*********************************************************************
* INCLUDES
*/
//#include <string.h>

#include <ti/drivers/SPI.h>
#include <ti/drivers/spi/***.h>
#include <ti/drivers/PIN.h>
#include <ti/drivers/pin/PINCC26XX.h>

#include "board_spi.h"
#include "GUA_Uart.h"

/*********************************************************************
* LOCAL VARIABLES
*/

static SPI_Handle s_spiHandle;
static SPI_Params s_spiParams;
static SPI_Transaction s_spiTransaction;

static PIN_State s_spiCsnState;
static PIN_Handle s_spiCsnHandle;
static PIN_Config s_spiCsnPinsCfg[] =
{
BOARD_SPI0_CSN_IO | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,
PIN_TERMINATE
};

void SPI_Init(void)
{

SPI_init();

SPI_Params_init(&s_spiParams);
s_spiParams.dataSize = 8;

s_spiCsnHandle = PIN_open(&s_spiCsnState, s_spiCsnPinsCfg);

s_spiHandle = SPI_open(Board_SPI0, &s_spiParams);
if(s_spiHandle == NULL)
{
while(1); // SPI_open() failed
}
}

void SPI_CsnSet(PIN_Id pinId, bool pinState)
{
if(pinState == BOARD_SPI_CS_OFF)
{
PIN_setOutputValue(s_spiCsnHandle, pinId, 1);
}
else if(pinState == BOARD_SPI_CS_ON)
{
PIN_setOutputValue(s_spiCsnHandle, pinId, 0);
}
}

void SPI_ReadWriteData(uint8_t *pWriteData, uint8_t *pReadData, uint8_t writeDataLen)
{
bool transferOk;
s_spiTransaction.count = writeDataLen; // 写入的数据长度
s_spiTransaction.arg = NULL;
s_spiTransaction.txBuf = pWriteData; // 发送缓冲区
s_spiTransaction.rxBuf = pReadData; // 接收缓冲区

transferOk = SPI_transfer(s_spiHandle, &s_spiTransaction); // 启动SPI传输
if(!transferOk)
{
// Error in SPI or transfer already in progress.
}
}

/*************************************END OF FILE*************************************/

Kevin Qiu1:

有用C:\ti\simplelink_cc2640r2_sdk_4_20_00_04\examples\rtos\CC2640R2_LAUNCHXL\drivers\spimaster这里的例程试过吗

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F SPI发送数据没波形
分享到: 更多 (0)