日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]雖然一直ST用庫做實驗,但沒有進(jìn)行認(rèn)真的總結(jié)??偸窍忍砑觾r格文件,然后編譯。能通過就完成,通不過就再添加別的文件。今天就一步步來梳理下建立用庫工程的步驟。爭取做到傻瓜式,讓即使完全沒用過MDK的人都能使用。

雖然一直ST用庫做實驗,但沒有進(jìn)行認(rèn)真的總結(jié)??偸窍忍砑觾r格文件,然后編譯。能通過就完成,通不過就再添加別的文件。今天就一步步來梳理下建立用庫工程的步驟。爭取做到傻瓜式,讓即使完全沒用過MDK的人都能使用。

第一步:到ST下載標(biāo)準(zhǔn)外設(shè)庫和演示工程,也可以問賣你開發(fā)板的人要。我的庫文件是淘寶商給的??梢酝ㄟ^我的百度網(wǎng)盤下載,地址:

【http://pan.baidu.com/share/link?shareid=497853&uk=3087328531】

下載后解壓縮即可。此時可以進(jìn)入各個目錄簡單熟悉下外設(shè)庫里邊的東西

第二步,建立MDK工程

打開MDK程序,會自動打開上次的工程。我們關(guān)掉它,然后再新建我們自己的工程:

這時會彈出創(chuàng)建工程對話框,選擇要保存的位置,然后選擇你的MCU。

這里我建立的是一個使用Tim定時器的工程,工程文件名為TIM。使用的MVU為STM32F4VG。昨晚這些選擇點擊就會彈出對話框,詢問是否要將STM32F4系列MCU的啟動文件復(fù)制到工程文件夾,點擊確認(rèn)讓復(fù)制到咱們的工程文件夾里邊。

這是我們就可以看到我們新建的工程了。

組織工程目錄:

工程目錄與實際文件目錄沒有必然的對應(yīng)關(guān)系。我們可以根據(jù)自己需要添加。

這里我定義的幾個目錄:user,存放主函數(shù)和一些功能函數(shù)。board:自己寫的外設(shè)初始化和外設(shè)應(yīng)用,periph存放ST標(biāo)準(zhǔn)外設(shè)庫

第三步,添加外設(shè)庫到工程【重點】

在第一步中解壓后的文件夾中,進(jìn)入STM32F4-Discovery_FW_V1.1.0ProjectPeripheral_Examples中。這里存放的是ST標(biāo)準(zhǔn)庫的例程。我們需要在這里復(fù)制幾個文件到我們的工程中。

進(jìn)入任一一個工程文件夾,我使用的是ADC3_DMA。找到以下幾個文件,將其復(fù)制到我們的工程中去:

stm32f4xx_conf.h stm32f4xx_it.c stm32f4xx_it.h system_stm32f4xx.c

其中system_stm32f4xx.c中定義了一些時鐘初始化的函數(shù),在剛才向工程中添加的啟動文件會調(diào)用這里的函數(shù)。

添加完這些文件之后,開始設(shè)置工程選項,在Project窗口中選擇Target1之后在Project菜單中調(diào)出工程屬性對話框:

先勾選這個:

打開C/C++選項卡

這里要可以將外設(shè)庫的inc文件夾、存放board目錄中文件文件夾、還有組工程目錄文件夾加入。

我加入玩引用的最終效果:

點擊OK退出即可。

之后我們就可以向工程中添加外設(shè)庫文件了。添加文件跟剛才的組織工程目錄一樣,點擊addfile,會彈出添加文件對話框。

在右邊對話框中定位到在剛才解壓縮的文件夾中:STM32F4xx_StdPeriph_lib v1.0.2STM32F4xx_StdPeriph_Driversrc

選擇需要的文件即可。因為我需要使用tim定時器,做PWM輸出實驗。所以除了tim庫還要添加GPIO庫。

此外misc.c文件是所有工程都要添加的,rcc庫是定義時鐘所必需的,也一并將其添加到工程中。

第四步:添加主函數(shù)文件

File-》new save 文件名可隨意,后綴必需為.c。我命名為main.c

在main.c中添加主函數(shù)定義和對公共頭文件stm32f4xx_conf.h的引用。stm32f4xx_conf.h包含了對所有的外設(shè)庫的引用。


#include "stm32f4xx_conf.h"

int main()
{
while(1);
}

保存之后,利用上邊的方法將這個文件添加到工程的user目錄中。

最后的工程目錄結(jié)構(gòu)是這樣的:

此時,如果安鍵盤上的F5進(jìn)行編譯的話會報一堆錯誤:Undefined symbol assert_param

這是因為我們還缺少一個紅定義,庫文件里邊的一些條件編譯選項需要這個定義才能用。我們打開工程屬性菜單,重新定位到C/C++選項卡。添加宏定義:USE_STDPERIPH_DRIVER,

重新編譯即可。

到此工程建立完畢。如果你還需要用到別的外設(shè),只要將外設(shè)庫文件加入到工程中即可。

調(diào)試,編譯,設(shè)置仿真器等部分不做介紹。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉