软件开发平台:IAR
硬件开发平台:CC2640 board
操作系统:TI-RTOS SYS/BIOS
工程基础:SimpleBLEPeripheral
目的:实现CC2640 UART口在Callback模式下的接收和发送功能
步骤如下:
1. 可新建立一个.c文件,例如:UARTCallback.c,在其中添加如下代码:
char tRxBuf[100]; //接收数据数组,根据实际情况更改大小
char tTxBuf[100]; //发送数据数组,根据实际情况更改大小
static bool uartInitFlag = FALSE;
void Uart_Init(npiCB_t npiCBack) //用于注册初始化回调函数(在后面)
{
if(!uartInitFlag)
{
NPITLUART_initializeTransport(tRxBuf, tTxBuf, npiCBack); //如果想修改UART口配置,进入这个函数内部修改即可
uartInitFlag = TRUE;
}
}
void UART_WriteTransport (uint8 *str, uint8 len) //发送数据的函数,此函数会把str地址处数据复制到tTxBuf后发送出去
{
if(uartInitFlag)
{
memcpy(tTxBuf, str, len);
NPITLUART_writeTransport(len);
}
}
2. 在UARTCallback.h中声明:
extern void Uart_Init(npiCB_t npiCBack);
extern void UART_WriteTransport (uint8 *str, uint8 len);
3. 在simpleBLEPeripheral中添加回调函数如下代码:
void UartCallBack(uint16_t rxLen, uint16_t txLen)
{
if(rxLen > 0 )//串口接收到数据了
{
//在这里编写接收到数据后你要处理的程序代码
}
}
4. 在static void SimpleBLEPeripheral_init(void)中调用注册初始化函数:
Uart_Init(UartCallBack);// 收到串口数据时将执行 UartCallBack 函数