CC2541之串口传输数据

来源:互联网 发布:公众号排版 知乎 编辑:程序博客网 时间:2024/06/09 15:25


本篇博文最后修改时间:2017年09月15日 18:00。



一、简介

本文介绍CC2541在BLE-CC254x-1.3.2协议栈里如何使用串口传输数据


二、实验平台

电脑平台:Windows7 64位旗舰

编译软件:IAR 8.10.4

硬件平台:CC2541裸机开发板


三、版权声明

博主:_懵懂

声明:此博客仅供参考不做任何商业用途,最终解释权归原博主所有。

原文地址:http://blog.csdn.NET/qq_18842031

QQ:951795235

E-mail :951795235@qq.com

懵懂之MCU交流群:136384801



四、实验前提

1、在进行本文步骤前,请先安装IAR 版本8.10.4;准备好CC2541硬件平台。

         


五、基础知识

暂无


六、实验内容

1.使能串口关闭低功耗

xPOWER_SAVINGHAL_UART=TRUE




2.在simpleBLEPeripheral.c文档下添加以下几点


a.添加头文件

#include "npi.h"


b.添加串口回调函数

static void NpiCallbackCB( uint8 port, uint8 events );   //串口回调 
c.在该文档的下面添加串口回调函数
/********************************************************************* * @fn      NpiCallbackCB * * @brief   串口接收数据回调函数 * * @param   events - 事件. * * @return  none */static void NpiCallbackCB( uint8 port, uint8 events )  {    VOID port;  if (events & (HAL_UART_RX_TIMEOUT | HAL_UART_RX_FULL))   //串口有数据    {    static uint8 data[20];    uint8 len = NPI_RxBufLen();           //读出串口缓冲区数据长度      if(len != 0)      {       NPI_ReadTransport(data,len);     /*读取数据*/      NPI_WriteTransport(data, len);   /*发送数据*/    }  }}


d.在void SimpleBLEPeripheral_Init( uint8 task_id )函数里初始化串口

NPI_InitTransport(NpiCallbackCB);    /*初始化配置串口*/


3.在npi.h文档下关闭流控,不然需要多2根线

#define NPI_UART_FC                    FALSE //默认是TRUE 这里需要关闭