一、配置UART
在SYSFONFIG中增加一个UART端口,配置如下:
保存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>
/* 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)
{
char input;
const char echoPrompt[] = "Echoing characters:\r\n";
UART_Handle uart;
UART_Params uartParams;
/* Call driver init functions */
// GPIO_init();
UART_init();
/* Create a UART with data processing off. */
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;
uart = UART_open(Board_UART0, &uartParams);
if (uart == NULL) {
/* UART_open() failed */
while (1);
}
UART_write(uart, echoPrompt, sizeof(echoPrompt));
/* Loop forever echoing */
while (1) {
UART_read(uart, &input, 1);
UART_write(uart, &input, 1);
}
}
四、试验现象
使用串口调试工具打开XDS110的用户UART,这里是COM4,编译并运行empty工程,通过COM4向CC2640R2发送字符,CC2640R2收到后将接收的字符返回给COM4。