CC2640添加 uart

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Life_Maze/article/details/81303823

1、关闭lcd显示

BOARD_DISPLAY_USE_LCD=0
BOARD_DISPLAY_USE_UART=0
BOARD_DISPLAY_USE_UART_ANSI=0

2、添加 驱动接口

 UART.c

 UART.h

3、UART.c添加pritnf接口; UART.h中声明

#include <stdarg.h>  //add
#include "Board.h"   //add

static UART_Handle  uartHandle;   //add
static UART_Params  uartParams;   // add
#define  LOG

bool CbPrintf(const char* format, ...)
{
  if(uartHandle == NULL){
    return false;
  }
  va_list arg;
  va_start(arg,format);
  uint8_t txbuf[100];
  uint16_t len = vsprintf((char*)txbuf, format, arg);

  UART_write(uartHandle, txbuf, len);

  return true;
}

//  add
bool CbLog(const char* format, ...)
{
#ifdef  LOG
  if(uartHandle == NULL){
    return false;
  }
  va_list arg;
  va_start(arg,format);
  uint8_t txbuf[100];
  uint16_t len = vsprintf((char*)txbuf, format, arg);

  UART_write(uartHandle, txbuf, len);
#endif
  return true;
}

bool uart_init(void)
{
  UART_init();
  
  UART_Params_init(&uartParams);
  uartParams.writeDataMode = UART_DATA_BINARY;
  uartParams.readDataMode = UART_DATA_BINARY;
  uartParams.readReturnMode = UART_RETURN_FULL;
  uartParams.readEcho = UART_ECHO_OFF;
  uartParams.baudRate = 115200;

  uartHandle = UART_open(Board_UART0, &uartParams);
  if(uartHandle == NULL){
    return false;
  }
  CbLog("uart init..ok.\n");
  return true;
}

4、 static void SimplePeripheral_init(void)中添加初始化代码

   uart_init(void)

6、修改板级文件

uart = UART_open(Board_UART0, &uartParams);

---------》

F:\lvbing_cool\simplelink_cc2640r2_sdk_2_20_00_49\source\ti\blestack\boards\CC2640R2_LAUNCHXL/Board.h

#define Board_UART0             CC2640R2_LAUNCHXL_UART0

---------》

F:\lvbing_cool\simplelink_cc2640r2_sdk_2_20_00_49\source\ti\blestack\boards\CC2640R2_LAUNCHXL/CC2640R2_LAUNCHXL.h

CC2640R2_LAUNCHXL_UART0 = 0,

---------》

F:\lvbing_cool\simplelink_cc2640r2_sdk_2_20_00_49\source\ti\blestack\boards\CC2640R2_LAUNCHXL/CC2640R2_LAUNCHXL.c

const UART_Config UART_config[CC2640R2_LAUNCHXL_UARTCOUNT] = {
    {
        .fxnTablePtr = &UARTCC26XX_fxnTable,
        .object      = &uartCC26XXObjects[CC2640R2_LAUNCHXL_UART0],
        .hwAttrs     = &uartCC26XXHWAttrs[CC2640R2_LAUNCHXL_UART0]
    },
};

---------》

F:\lvbing_cool\simplelink_cc2640r2_sdk_2_20_00_49\source\ti\blestack\boards\CC2640R2_LAUNCHXL/CC2640R2_LAUNCHXL.c

const UARTCC26XX_HWAttrsV2 uartCC26XXHWAttrs[CC2640R2_LAUNCHXL_UARTCOUNT] = {
    {
        .baseAddr       = UART0_BASE,
        .powerMngrId    = PowerCC26XX_PERIPH_UART0,
        .intNum         = INT_UART0_COMB,
        .intPriority    = ~0,
        .swiPriority    = 0,
        .txPin          = CC2640R2_LAUNCHXL_UART_TX,
        .rxPin          = CC2640R2_LAUNCHXL_UART_RX,
        .ctsPin         = PIN_UNASSIGNED,
        .rtsPin         = PIN_UNASSIGNED,
        .ringBufPtr     = uartCC26XXRingBuffer[CC2640R2_LAUNCHXL_UART0],
        .ringBufSize    = sizeof(uartCC26XXRingBuffer[CC2640R2_LAUNCHXL_UART0]),
        .txIntFifoThr   = UARTCC26XX_FIFO_THRESHOLD_1_8,
        .rxIntFifoThr   = UARTCC26XX_FIFO_THRESHOLD_4_8,
        .errorFxn       = NULL
    }
};

---------》

F:\lvbing_cool\simplelink_cc2640r2_sdk_2_20_00_49\source\ti\blestack\boards\CC2640R2_LAUNCHXL/CC2640R2_LAUNCHXL.h

#define CC2640R2_LAUNCHXL_UART_RX               IOID_8      /* RXD */
#define CC2640R2_LAUNCHXL_UART_TX               IOID_9        /* TXD */

猜你喜欢

转载自blog.csdn.net/Life_Maze/article/details/81303823