打开主菜单

谷雨文档中心 β

更改

NRF52832DK协议栈实验

添加4,409字节2019年10月10日 (四) 16:17
蓝牙协议实验目录
|从机利用NUS服务收发通信实验
|}
 
=== 样例工程结构简介 ===
我们首先借由协议栈自带的串口透传例程,给大家说明一下蓝牙工程的结构,我们打开工程,查看workspace部分(每一个Group都是同等地位,以下说明不分先后)。
[[文件:Workspace group.png|边框|居中|无框|436x436像素]]
Application:主要就两个文件,一个是主函数 main.c 文件,这个文件是大家后续编程主要修改的文件。另一个 sdk_config.h 配置文件,NRF52相关的蓝牙参数、外设参数等等,我们在使用之前都需要在这个文件中配置或者是使能。
[[文件:Workspace application.png|边框|居中|无框|351x351像素]]
Board Definition:nordic给我们用户实现好的有关按键和LED灯的控制的文件,这个文件主要是nordic方便自己例程的展示实现的,在后续的编程中大家可以选择使用,或者自己根据个人需要重新实现。
[[文件:Workspace boarddefinition.png|边框|居中|无框|345x345像素]]
Board Support:这个分组和Board Definition是一起作用的,就是利用按键和LED灯进行一些功能的展示,比如按键的外部中断唤醒,比如用LED来指示当前蓝牙的状态等。也是一样的,后续编程中大家可以根据个人需要选择保留还是自己实现。
[[文件:Workspace boardsupport.png|边框|居中|无框|344x344像素]]
None:这个分组也是包含了两个文件,这两个文件都是和芯片相关的。arm_startup_nrf52.s 是芯片的启动文件,这个文件配置了芯片启动时的堆栈空间,中断向量等等参数。system_nrf52.c 文件是芯片的系统文件,配置了芯片的RAM、时钟、射频以及引脚端口等等。这两个文件都是芯片的必要文件,所以每一个工程中都是需要包含的。
[[文件:Workspace none.png|边框|居中|无框|332x332像素]]
nRF_BLE:这个分组包含的是蓝牙协议相关的配置文件,也就是我们协议栈实验部分主要要讲解的内容。主要有如下几个部分,广播、连接、扫描等等,由于我们展示的例程是串口透传从机,所以这边看不到扫描相关的文件。
[[文件:Workspace nrfble.png|边框|居中|无框|335x335像素]]
nRF_BLE_Services:这个分组是用于存放我们的蓝牙profile服务文件,像我们串口透传例程,就包含了NUS(nordic uart service)的通用配置文件。
[[文件:Workspace nrfbleservices.png|边框|居中|无框|325x325像素]]
nRF_Drivers:这个分组包含的是外设驱动文件,其中前缀是nrf开头的代表的是老的驱动文件,nrfx代表的新的驱动文件,我们当前使用的SDK15.2兼容新旧两种外设驱动文件。
[[文件:Workspace nrfdrivers.png|边框|居中|无框|330x330像素]]
nRF_Libraries:库函数文件的分组,里面包含了两个大类。一个是以app为前缀的文件,这部分是留给我们用户在应用层调用的库文件,基本上是按键、时钟等等一些外设的库。另一部分是以nrf为前缀的库文件,这个是和芯片相关的库,包括内存分配、打印以及电源管理等等。
[[文件:Workspace nrflibraries.png|边框|居中|无框|452x452像素]]
nRF_Log:这个是nordic做好的一个打印调试信息的功能分组,主要分为两个,一个是利用Jlink仿真器实现的RTT,另一个则是利用串口打印。这个部分的功能在下面的实验中有讲解。
[[文件:Workspace nrflog.png|边框|居中|无框|333x333像素]]
nRF_Segger_RTT:这个部分是Segger公司实现好的RTT的驱动文件,我们使用的时候只需要将文件添加到我们的工程中,然后调用API接口就行,这样我们就能将调试信息通过Jlink打印到RTT Viewer显示。这个部分的功能是配置上面的Log打印使用的,方便我们开发者调试程序。
[[文件:Workspace nrfseggerrtt.png|边框|居中|无框|324x324像素]]
nRF_SoftDevice:这里包含的文件主要是配置协议栈初始化的时候协议栈的参数设定,由于协议栈实际上是不开源的,而是留下了配置接口,这些配置接口通过客户配置相关协议栈的参数来设置协议栈运行状态
[[文件:Workspace softdevice.png|边框|居中|无框|327x327像素]]
[[文件:Workspace utf8utf16.png|边框|居中|无框|359x359像素]]
[[文件:Workspace output.png|边框|居中|无框|361x361像素]]
=== 低功耗实验 ===
510
个编辑