CC2640R2F学习笔记(八.SPI)


一、配置SPI

在SYSFONFIG中增加一个GPIO 作为片选信号。配置如下:
在这里插入图片描述
在SYSFONFIG中增加一个三线SPI接口。配置如下:

在这里插入图片描述
保存Board.c和Board.h。

二、导入工程"empty"

点击菜单“File”->“Imports”,在弹出对话框中选择“CCS Projects”.

在这里插入图片描述
点击Browse选择例程“empty”所在目录,我的目录为:C:\ti\simplelink_cc2640r2_sdk_5_30_00_03\examples\rtos\CC2640R2_LAUNCHXL\drivers\empty\tirtos\ccs
在这里插入图片描述\

三、代码改动

导入工程后将根目录的Board.h、CC2640R2_LAUCHXL.C、CC2640R2_LAUCHXL.h三文件删除。
在这里插入图片描述
将前面生成的Board.c和Board.h拷贝到项目根目录下。
在这里插入图片描述

在empty.c中将代码修改如下:


```c
/*
 *  ======== empty.c ========
 */

/* For usleep() */
#include <unistd.h>
#include <stdint.h>
#include <stddef.h>
/* POSIX Header files */
#include <pthread.h>
#include <semaphore.h>
#include <unistd.h>

/* Driver Header files */
#include <ti/drivers/GPIO.h>
// #include <ti/drivers/I2C.h>
 #include <ti/drivers/SPI.h>
 #include <ti/drivers/UART.h>
// #include <ti/drivers/Watchdog.h>

/* Board Header file */
#include "Board.h"

/*
 *  ======== mainThread ========
 */


void *mainThread(void *arg0)
{
    SPI_Handle      masterSpi;
    SPI_Params      spiParams;
    SPI_Transaction transaction;
    char buf[1]={0x11};
 //   uint32_t        i;
 //   bool            transferOK;
 //   int32_t         status;


    GPIO_init();
    SPI_init();
    /* Open SPI as master (default) */
      SPI_Params_init(&spiParams);
      spiParams.frameFormat = SPI_POL0_PHA1;
      spiParams.bitRate = 400000;
      masterSpi = SPI_open(Board_SPI0, &spiParams);
      transaction.count = 1;
      transaction.txBuf = buf;
      GPIO_write(CS, 1);
      GPIO_write(CS, 0);


      SPI_transfer(masterSpi, &transaction);
      GPIO_write(CS, 1);



    while (1) {

    }
}

四、试验现象

将CC2640R2_LAUCHXL的DIO11(CS)、DIO10(CLK)、DIO9(MISO)、DIO8(MOSI)连接到逻辑分析仪,编译并运行empty工程,逻辑分析仪会显示SPI的传输时序和数据(0x11)。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值