DWM1000的UWB测距改官网例程的调试
環(huán)境:KEIL(官方是eclipse或SW4STM32的,幾年沒用過了,網(wǎng)上有KEIL版本的,沒下載積分,抽空上傳這個(gè)也是希望撈點(diǎn)積分哈)
 輔助編輯軟件:UltraEdit
 MCU:stm32F103,板子是其項(xiàng)目的板子飛線作簡(jiǎn)單距離測(cè)試的,腳位接法在main文件里有注釋。
 SPI通信的設(shè)置請(qǐng)看下圖,
 
本例是模塊的GPIO5 GPIO6懸空,通信正常讀到的DEVICE_ID為0xDECA0130
 
本例程是官方例程轉(zhuǎn)KEIL的,具體例程介紹看官方DW1000_Software_API_Guide_rev2p7.PDF的89頁,燒錄那個(gè)操作宏定義即可,部分沒放進(jìn)去,若需要請(qǐng)自行放入,串口打印相關(guān)自行調(diào)整。
 建議用3A 3B例程進(jìn)行通信測(cè)試(3D的外部中斷沒有調(diào)試出來,已經(jīng)參考官網(wǎng)的STM32F10x的進(jìn)行修改,是否是硬件問題不清楚,如用到請(qǐng)注意),兩模塊通信正常后若進(jìn)行測(cè)距調(diào)試請(qǐng)用5A 5B 或6A 6B進(jìn)行,可參考大神的詳細(xì)說明https://blog.csdn.net/qq_38940316/article/details/84864943。
 本人也是參考他進(jìn)行了調(diào)試,只是最后還是調(diào)不出來,在A端收不到B端的問題上卡著,仿真發(fā)現(xiàn)出現(xiàn)一個(gè)網(wǎng)上沒人提到的preamble detect timeout問題
/* User defined RX timeouts (frame wait timeout and preamble detect timeout) mask. */
 #define SYS_STATUS_ALL_RX_TO (SYS_STATUS_RXRFTO | SYS_STATUS_RXPTO)
個(gè)人理解為前導(dǎo)碼檢測(cè)超時(shí),所以將5A的PRE_TIMEOUT 由官方值8改大后測(cè)試成功
 /* Preamble timeout, in multiple of PAC size. See NOTE 6 below. */
 #define PRE_TIMEOUT 20
這點(diǎn)是本人發(fā)文的初衷重點(diǎn),在這上邊浪費(fèi)了些時(shí)間,網(wǎng)上不少說卡在if (status_reg & SYS_STATUS_RXFCG)但沒有人繼說是什么問題。
 測(cè)試如下圖
 
相關(guān)文件請(qǐng)到https://download.csdn.net/download/player991314/13614081下載
 文件夾里DW1000_TESTFW是本人轉(zhuǎn)KEIL程序,其他是官網(wǎng)下載的資料與例程,更多請(qǐng)上官網(wǎng)https://www.decawave.com
 本人只因工作需要作簡(jiǎn)單的距離測(cè)試,至于精度,功耗那些暫沒了解,此例是本菜鳥把官方例程(DWS1000_ExampleCode_v1_0_1)轉(zhuǎn)KEIL的,對(duì)于小白們拿來測(cè)試也簡(jiǎn)單可用,如有錯(cuò)誤請(qǐng)看官網(wǎng)文件或自行更改。
總結(jié)
以上是生活随笔為你收集整理的DWM1000的UWB测距改官网例程的调试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: AutoCAD.net 自定义窗体及面板
- 下一篇: eclipse32位python版下载_
