Other Parts Discussed in Thread: CC2640R2L
开发环境:Code Composer Studi Version: 10.3. 1. 00003
SDK:simplelink_cc2640r2_sdk_5_10_00_02
我想在simple_peripheral例程增加一个Uart,在代码的初始化里添加了如下代码:

烧录后:

不添加串口烧录后打印就正常。
请教:该怎么设置,增加串口?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
YiKai Chen您好!十分感谢您的回复和帮助!
我在simple_peripheral.c初始化加了:
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_UART2, &uartParams);
if (uart == NULL)
{
//UART_open() failed
while (1);
}
我在CC2640R2_LAUNCHKL.h
文件定义了:
#define CC2640R2_LAUNCHXL_UART2_RX IOID_21
#define CC2640R2_LAUNCHXL_UART2_TX IOID_22
添加了:
typedef enum CC2640R2_LAUNCHXL_UART2Name {
CC2640R2_LAUNCHXL_UART2 = 0,
CC2640R2_LAUNCHXL_UART2COUNT
} CC2640R2_LAUNCHXL_UART2Name;
依然不行,我记得CC2562RB在sysconf设置后会生成一个Uart2.h文件,这个SDK版本的要自己建立一个Uart2.h文件么?
YiKai Chen您好!十分感谢您的回复和帮助!
我在CC2640R2_ LAUNCHKL.h 定义了:
#define CC2640R2_LAUNCHXL_UART0_RX IOID_21
#define CC2640R2_LAUNCHXL_UART0_TX IOID_22
在Bord.h文件定义了:
#define Board_UART0_RXD CC2640R2_LAUNCHXL_UART0_RX
#define Board_UART0_TXD CC2640R2_LAUNCHXL_UART0_TX
在simple_peripheral.c初始化添加了:
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));
修改了:

现在是这样,烧录后串口没反应;帮看下是我那一步定义出问题了,谢谢!
YiKai Chen您好!十分感谢您的回复和帮助!
我刚刚
第一步:
设置:-DBOARD_DISPLAY_USE_UART=1
-DBOARD_DISPLAY_USE_UART_ANSI=1
然后:build project
第二步:
设置:-DBOARD_DISPLAY_USE_UART=0
-DBOARD_DISPLAY_USE_UART_ANSI=0
先clean project 再build project现在代码还是卡在初始化,若不这样;我按照现在的IO及设置重新建个项目,按流程再来一次。
下面是我初始化的程序給你參考,我猜你的問題應該是在UART_Open 應該要用Board_UART0
UART_init();
/* Create a UART in CALLBACK read mode */
UART_Params_init(&uartParams);
//uartParams.readMode = UART_Mode_CALLBACK;
//uartParams.readCallback = callbackFxn;
uartParams.baudRate = 115200;
uart = UART_open(Board_UART0, &uartParams);
if (uart == NULL) {
/* UART2_open() failed */
while (1);
}
/* Pass NULL for bytesWritten since it's not used in this example */
UART_write(uart, echoPrompt, sizeof(echoPrompt));
YiKai Chen您好!十分感谢您的回复和帮助!
在Board.h的定义为:
#define Board_UART0 CC2640R2_LAUNCHXL_UART0
跟踪CC2640R2_LAUNCHXL_UART0跳转到到CC2640R2_ LAUNCHEL. h
定义为:
typedef enum CC2640R2_LAUNCHXL_UARTName {
CC2640R2_LAUNCHXL_UART0 = 0,
CC2640R2_LAUNCHXL_UARTCOUNT
} CC2640R2_LAUNCHXL_UARTName;
下面這些你不要做
CC2640R2_ LAUNCHKL.h 定义了:
#define CC2640R2_LAUNCHXL_UART0_RX IOID_21
#define CC2640R2_LAUNCHXL_UART0_TX IOID_22
在Bord.h文件定义了:
#define Board_UART0_RXD CC2640R2_LAUNCHXL_UART0_RX
#define Board_UART0_TXD CC2640R2_LAUNCHXL_UART0_TX
要改腳位直接去修改CC2640R2_LAUNCHXL.h裡頭的CC2640R2_LAUNCHXL_UART_RX/CC2640R2_LAUNCHXL_UART_TX 再試試
#define CC2640R2_LAUNCHXL_UART_RX IOID_2 /* RXD */
#define CC2640R2_LAUNCHXL_UART_TX IOID_3 /* TXD */
YiKai Chen您好!十分感谢您的回复和帮助!
我把之前在Bord.h文件设置的IO全屏蔽,只在CC2640R2_LAUNCHXL.h
修改了:/* UART Board */
#define CC2640R2_LAUNCHXL_UART_RX IOID_21 /* RXD */
#define CC2640R2_LAUNCHXL_UART_TX IOID_22 /* TXD */
#define CC2640R2_LAUNCHXL_UART_CTS IOID_19 /* CTS */
#define CC2640R2_LAUNCHXL_UART_RTS IOID_18 /* RTS */
现在接在连接IO21、IO22的串口助手有信息显示了,但是依然卡在初始化部分。

1. 要改顯示需要去改下面的程序,你數量如果要改也要做對應的修改
MENU_OBJ(scMenuGattWrite, "GATT Write", 4, &scMenuPerConn)
MENU_ITEM_ACTION("Write 0x00", SimpleCentral_doGattWrite)
MENU_ITEM_ACTION("Write 0x55", SimpleCentral_doGattWrite)
MENU_ITEM_ACTION("Write 0xAA", SimpleCentral_doGattWrite)
MENU_ITEM_ACTION("Write 0xFF", SimpleCentral_doGattWrite)
MENU_OBJ_END
2. 如果做pairing/bonding應該可以自动连接pairing/bonding過得simple_peripheral终端设备
YiKai Chen您好!十分感谢您的回复和帮助!
第一项:步骤1)、2)、设置完;Task 1 – Enable Just Works Pairing
步骤3)、3. Build and flash your CC2640R2 LaunchPad with your modified Project Zero then follow the instructions below for your selected peer.在这里选BTool和simple_peripheral进行测试么?
