基于CC2640的UART串口回调(Callback)模式

来源:互联网 发布:php 当天24点时间戳 编辑:程序博客网 时间:2024/06/11 01:13

软件开发平台: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 函数

原创粉丝点击