STM32+DWM1000开发uwb测距系列教程之一:官方例程简介


——本例程基于dwm1000官方demo包V2.14打造

1 dw1000_api_rev2p14.zip软件包简介

本软件包基于stm32开发,使用的IDE有SW4STM32和COOCOX,所以想要熟悉代码结构,需要先安装其中的一个ide。我选择安装了SW4STM32。
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介
首先,这个版本是dwm1000官方比较新的一个版本,并且区别于最早的基于stm32标准库的方式,最近的库使用了cubemx+hal的方式进行开发,唯一不太友好的是没有keil的demo,如果在keil MDK下开发的话,需要首先熟悉官方的代码结构,在官方基础之上进行移植。

2 打开工程

2.1 直接打开

将1.1节stsw.zip的压缩包解压到非中文路径,然后双击“.project”文件,工程会自动在SW4STM32 IDE下打开。
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介

STM32+DWM1000开发uwb测距系列教程之一:官方例程简介

2.2 使用导入方式打开工程

先打开SW4STM32,然后通过导入功能打开工程
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介
选择工程类型,之后选择下一步
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介
选择工程所在的文件目录,如下图所示,“1”处选择工程所在文件夹,“2”处会自动发现已有工程,然后选择“3”处“finish”,工程会自动导入到SW4STM32,并自动显示在左侧的工程浏览窗口中。
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介

3 工程目录结构分析

STM32+DWM1000开发uwb测距系列教程之一:官方例程简介

4 选择example例程

通过分析工程目录结构,可以知道,本工程实例是一个example集,内部有多个示例工程,通过切换不同的配置文件来实现选择具体的工程。选择过程如下:
选择“project”——“properties”,在打开的工程属性窗口中单击“C/C++ Build”——“Settings”,在settings窗口单击“Manage Configurations”,选择需要**的配置文件,然后单击“Set Active”选择**,最后点击“ok”保存设置。最后在工程属性窗口选“apply”——“ok”退出工程属性窗口。
原厂工程默认**的是“ex_01c_tx_sleep_auto”工程,下边动图演示了切换例程的操作。
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介
通过上边的过程,就可以选择切换原厂工程例程里边的examp例程。

5 工程编译

在工程名称上方鼠标右键选择 “build project”,编译当前工程,由于SW4STM32自带GCC编译环境,所以不出意外,编译结果是正确的,并且会在工程所在文件夹目录下方生成一个build 的文件夹,文件夹内部会生成两个文件。如下:
STM32+DWM1000开发uwb测距系列教程之一:官方例程简介
基于本工程示例,可以在SW4STM32环境下进行dwm1000驱动程序的移植,这样是最省事的,当然前提是能够熟悉使用gcc+eclipse的看法环境,本人就是在折腾了几天后,各种配置的bug疲于应付,所以才下决心移植到了keil MDK下。事后再看,官方的代码虽然还有很大的提升空间,但是已经把应用程序接口和cube mx基于st官方(HAL库+LL库)生成的工程代码尽可能的做了解耦,移植相对比较容易。
下一篇就来进行工程移植。

6 资源链接

dw1000_api_rev2p14_stsw.zip 资源链接