基于DWM1000的stm32f103c8测距调试(一)
基于DWM1000的stm32f103c8測距調(diào)試(一)
最近接觸DWM1000測距模塊,雖然官網(wǎng)的資料也是stm32的但是用的片子不是f103c8所以還是需要進行一些移植,又因為官方資料不是KEIL版本,所以官方源碼在閱讀有些費勁,經(jīng)過一番折騰,終于把程序移植到KEIL上,并實現(xiàn)了測距,下面把部分源碼和相應(yīng)程序移植過程貼出來。
首先:說實話在拿到官方的程序后我是一臉懵逼的。(哈哈,慚愧)
根據(jù)官方源碼例程我做了相應(yīng)的翻譯,和一些補充解釋,見下圖;
我們要實現(xiàn)兩個DWM1000之間測距,我們只要看例程5即可,例程5是一個雙向測距,測距原理采用TOF雙向飛行測距,即 測量脈沖飛行的時間 * 光速 = 標簽與模塊的距離。
第二步: 我們拿到源碼后,就要開始建立KEIL工程,我相信很多朋友應(yīng)該會建立工程,如果不會建工程的童鞋,可以微信搜索公眾號【老馬分享】并關(guān)注,老馬分享公眾號會不定期免費分享stm32開發(fā)的基礎(chǔ)知識。
下面我默認工程都已經(jīng)建好了,開始移植修改代碼。
見下圖
把黑色框中的文件移植到KEIL工程文件中。
第三步:接下來修改代碼IO
#define SPIx SPI1
#define SPIx_GPIO GPIOA
#define SPIx_CS GPIO_Pin_4
#define SPIx_CS_GPIO GPIOA
#define SPIx_SCK GPIO_Pin_5
#define SPIx_MISO GPIO_Pin_6
#define SPIx_MOSI GPIO_Pin_7
打開part.c,part.h文件,找到SPI設(shè)置引腳處,修改SPI引腳,你的電路設(shè)計的是哪個引腳改為哪個引腳。,其他引腳不用管。
第四步:修改主函數(shù),添加串口打印printf函數(shù),通過串口打印距離。
至此,基于DWM1000的STM32f103c8t6的測距試驗就能順利的完成了,是不是很開心。
下面我把基于STM32F103C8的整體源碼和原理圖(AD版本)文件,分享給大家。
更多內(nèi)容,掃描下圖二維碼,不定時更新。喜歡就請點個贊,關(guān)注收藏吧。
總結(jié)
以上是生活随笔為你收集整理的基于DWM1000的stm32f103c8测距调试(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杨强教授新番!破解机器学习数据孤岛和数据
- 下一篇: M2Det: A Single-Shot