蓝牙 BLE BLE-CC254x-1.4.1.43908协议栈串口默认是串口0,RX和TX引脚分别是P0_2和P0_3,硬件板子改板成串口0的Alt2方式,即RX和TX引脚分别是P1_4和P1_5。如图:
需要修改协议栈的部分代码才可以使用串口0 Alt2方式传输数据。
1.Option-c/c++ Compiler Preprocessor-Defined symbols添加宏编译定义: HAL_UART=TRUE
xPOWER_SAVING
2._hal_uart_dma.c文件里面对HalUARTInitDMA串口初始化函数,改为Alt. 2方式。
#if (HAL_UART_DMA == 1)
// PERCFG &= ~HAL_UART_PERCFG_BIT; // Set UART0 I/O to Alt. 1 location on P0.
PERCFG |= HAL_UART_PERCFG_BIT; // Set UART1 I/O to Alt. 2 location on P1.
#endif
还要修改相关串口硬件引脚和寄存器:
#if (HAL_UART_DMA == 1)
#define PxSEL P1SEL
#define HAL_UART_PERCFG_BIT 0x01 // USART0 on P0, Alt-1; so clear this bit.
#define HAL_UART_PRIPO 0x00 // USART0 priority over UART1.
#define HAL_UART_Px_CTS 0x04//0x10 // Peripheral I/O Select for CTS flow control.
#define HAL_UART_Px_RTS 0x08//0x20 // Peripheral I/O Select for RTS must be manual.
#define HAL_UART_Px_SEL 0x30//0x0C // Peripheral I/O Select for Rx/Tx.
3.在NPI_InitTransport初始化函数里面确认波特率和关掉流控:
#if !defined( NPI_UART_FC )
#define NPI_UART_FC FALSE
#endif
4.在初始化函数中添加串口回调函数;
NPI_InitTransport(NpiSerialCallback);
//NPI_WriteTransport("123