新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > USE_STDPERIPH_DRIVER, STM32F10X_HD說明

USE_STDPERIPH_DRIVER, STM32F10X_HD說明

作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
如果在STM32工程編譯時(shí)沒有添加USE_STDPERIPH_DRIVER, STM32F10X_HD時(shí)會(huì)出現(xiàn)如下錯(cuò)誤:

..librarycortex_m3stm32f10x.h(96): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"

本文引用地址:http://m.butianyuan.cn/article/201611/319560.htm

這時(shí)候我們需要在“Target Options”中的“C/C++”選項(xiàng)卡中添加USE_STDPERIPH_DRIVER、STM32F10X_HD。這樣才能使編順利通過。

那么這個(gè)錯(cuò)誤是怎么產(chǎn)生的呢?

這是由于程序編譯的過程中調(diào)用stm32f10x_conf.h頭文件。為什么我們沒有在“main.c”中包含"stm32f10x_conf.h",而在編譯之后卻被包含進(jìn)了"main.c"中,"stm32f10x_conf.h"文件相當(dāng)于一個(gè)開關(guān)文件,如果要用到STM32固件庫驅(qū)動(dòng)標(biāo)準(zhǔn)外設(shè),則外設(shè)驅(qū)動(dòng)頭文件是必不可少的,如“stm32f10x_gpio.h”。在"stm32f10x_conf.h"中我們通過代碼#include "stm32f10x_gpio.h"來實(shí)現(xiàn)這個(gè)操作。其實(shí)單從字面意思理解就是“使用標(biāo)準(zhǔn)外設(shè)驅(qū)動(dòng)”,在C/C++預(yù)定義中加入“USE_STDPERIPH_DRIVER”就是允許“使用標(biāo)準(zhǔn)外設(shè)驅(qū)動(dòng)”了。至于加入的“STM32F10X_HD“同樣能在文件”stm32f10x.h“通過如上所述的方法通過功能查找來進(jìn)行解釋,其實(shí)它也是對(duì)于對(duì)應(yīng)硬件的某些定義起開關(guān)作用罷了。




關(guān)鍵詞: STM32編

評(píng)論


技術(shù)專區(qū)

關(guān)閉