无线传感器网络技术与应用(第2版)课件 薛君 项目5--8 蓝牙无线通信技术应用设计---NB-IOT无线通信技术应用设计.pptx

无线传感器网络技术与应用(第2版)课件 薛君 项目5--8 蓝牙无线通信技术应用设计---NB-IOT无线通信技术应用设计.pptx

  1. 1、本文档共153页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目五

蓝牙无线通信技术应用设计;任务5.1基于BLE协议栈的串口通信;【任务描述】

设计蓝牙模块与PC串口通信系统,要求蓝牙模块上电时,向串口发送“HelloNEWLab!”,并在PC的串口调试软件上显示;另外,在串口调试软件上发送信息给蓝牙模块时,蓝牙模块收到信息后,立刻原样返回串口接收到的数据给串口调试软件,并显示出来。

【任务环境】

硬件:NewLab平台1套、蓝牙模块1个、PC机1台。

软件:Windows7/10,IAR集成开发环境,协议栈BLE-CC254x-1.3.2,串口调试助手。

【必备知识点】

蓝牙技术概念

蓝牙协议栈安装与使用;5.1.1蓝牙技术概念;【任务实训步骤】;第3步,串口初始化。

打开工程中NPI文件夹下的npi.c文件,串口初始化函数

voidNPI_InitTransport(npiCBack_tnpiCBack)对串口号、波特率、流控、校验位等进行配置。

voidNPI_InitTransport(npiCBack_tnpiCBack)

{halUARTCfg_tuartConfig;

uartConfig.configured=TRUE;

uartConfig.baudRate=NPI_UART_BR;

uartConfig.flowControl=NPI_UART_FC;

uartConfig.flowControlThreshold=NPI_UART_FC_THRESHOLD;

uartConfig.rx.maxBufSize=NPI_UART_RX_BUF_SIZE;

uartConfig.tx.maxBufSize=NPI_UART_TX_BUF_SIZE;

uartConfig.idleTimeout=NPI_UART_IDLE_TIMEOUT;

uartCEnable=NPI_UART_INT_ENABLE;

uartConfig.callBackFunc=(halUARTCBack_t)npiCBack;

(void)HalUARTOpen(NPI_UART_PORT,uartConfig);

return;

};第4步,串口发送数据。

打开simpleBLEPeripheral.c文件中的初始化函数

voidSimpleBLEPeripheral_Init(uint8task_id),在此函数中添加NPI_InitTransport(NULL),在后面再加上一条上电提示HelloNEWLab!的语句,添加头文件语句:#include“npi.h”。

连接下载器和串口线,下载程序,就可以看到串口调试软件收到HelloNEWLab!的信息,如图所示,通过NPI_WriteTransport(uint8*,uint16)函数实现串口发送功能。

;第5步,串口接收数据。

在simpleBLEPeripheral.c文件声明串口回调函数staticvoidNpiSerialCallback(uint8port,uint8events),并在voidSimpleBLEPeripheral_Init(uint8task_id)函数中传入串口回调函数,将NPI_InitTransport(NULL)修改为:NPI_InitTransport(NpiSerialCallback)。

当串口特定的事件或条件发生时,操作系统就会使用函数指针调用回调函???对事件进行处理。具体处理操作在回调函数中实现。

staticvoidNpiSerialCallback(uint8port,uint8events)

{(void)port;

uint8numBytes=0;

uint8buf[128];

if(eventsHAL_UART_RX_TIMEOUT) //串口有数据

{numBytes=NPI_RxBufLen(); //读出串口缓冲区有多少字节

if(numBytes)

{NPI_ReadTransport(buf,numBytes); //从串口缓冲区读出numBytes字节数据

NPI_WriteTransport(buf,numBytes);//把串口接收到的数据再打印出来

}

}

};第6步,串口显示SimpleBLEPeripheral工程初始化信息。

TI官方的例程是利用LCD来输出信

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档