1+X傳感網(wǎng)中級備考:基于STM32F103VE建立工程

本篇參考 《傳感網(wǎng)應用開發(fā)職業(yè)技能等級認證》培訓教材

1.建立工程存放的文件夾

在 D 盤根目錄新建文件夾“STM32_WorkSpace”用于保存所有的任務工程,然后在該文件夾下新建文件夾“task1_ProjectFirst”用于保存本任務工程概龄;不能有中文路徑勇哗;

2.新建 STM32CubeMX 工程

打開 STM32CubeMX 工具崔步,點擊“ACCESS TO MCU SELECTOR(選擇 MCU)”按鈕场梆,如圖圖1所示厢岂;


圖1.png

進入“MCU 選擇”窗口,如圖 2 所示而叼。在圖 2 中的標號①處姿骏,輸入 MCU 型號的關鍵字稽荧,如:STM32F103VE。點擊標號②處的MCU 型號工腋,然后點擊標號③處的“Start Project”按鈕新建 STM32CubeMX 工程;

圖2.png

3.配置調(diào)試端口

以 ST-Link 仿真器為例畅卓,講解調(diào)試端口的配置過程擅腰。
展開“Pinout & Configuration”標簽頁左側的“System Core(系統(tǒng)內(nèi)核)”選項(圖 3中標號①處),選擇“SYS(系統(tǒng))”選項(圖 3 中標號②處)翁潘,將“Debug(調(diào)試)”下拉菜單改為“Serial Wire(串口線)”選項(圖 3中標號③處)趁冈。即可將“PA13”引腳配置為 SWDIO 功能(圖 3 中標號⑤處),“PA14”引腳配置為 SWCLK 功能(圖 3 中標號④處)


圖3.png

4.配置 MCU 時鐘樹

選擇“Pinout & Configuration”標簽頁左側的“RCC(復位、時鐘配置)”選項渗勘,如圖 4 的標號①所示沐绒。將 MCU 的“High Speed Clock(HSE,高速外部時鐘)”配置為
“Crystal/Ceramic Resonator(晶體/陶瓷諧振器)”旺坠,如圖 4的標號②所示乔遮。同樣地,將 MCU 的“Low Speed Clock(LSE取刃,低速外部時鐘)”配置為“Crystal/Ceramic Resonator(晶體/陶瓷諧振器)”蹋肮,如圖 4的標號③所示。配置完畢后璧疗,MCU 的“Pinout View(引腳視圖)”中相應的引腳功能將被配置坯辩,如圖 4中的標號④和⑤所示。


圖4.png

切換到“Clock Configuration(時鐘配置)”標簽崩侠,進行 STM32 微控制器的時鐘樹配
置漆魔,如圖 5 所示。圖中各個標號的含義如下:
標號①:“PLL Source MUX(鎖相環(huán)時鐘源選擇器)”的時鐘源選擇為“HSE”却音,即:8MHz外部晶體諧振器改抡;
標號②:“PLLMul(鎖相環(huán)倍頻)”配置為“9”;
標號③:“System Clock MUX(系統(tǒng)時鐘選擇器)”的時鐘源選擇為“PLL”僧家;
標號④:配置“SYSCLK(系統(tǒng)時鐘)”為 72MHz雀摘;
標號⑤:配置“HCLK(高性能總線時鐘)”為 72MHz;
標號⑥:配置“Cortex System timer(Cortex 內(nèi)核系統(tǒng)嘀嗒定時器)”的時鐘源為 HCLK的八分之一八拱,即:9MHz阵赠;
標號⑦:配置“APB1 Peripheral clocks(低速外設總線時鐘)”為 HCLK 的二分頻,即:36MHz肌稻。
標號⑧:配置“APB2 Peripheral clocks(高速外設總線時鐘)”為 HCLK 的一分頻清蚀,即:72MHz。


圖5.png

5.配置 GPIO 功能

開發(fā)板的“PE6”引腳與 LED 燈——“LED2”相連爹谭。在 STM32CubeMX 工具的配置主界面枷邪,用鼠標左鍵點擊 MCU 的“PE6”引腳處,選擇功能“GPIO_Output”诺凡。如圖 6所示东揣。


圖6.png

然后用鼠標右鍵點擊“PE6”引腳,選擇“Enter User Label”選項腹泌,輸入值“LED2”嘶卧,將“PE6”引腳的“用戶標簽”值配置為“LED2”,點擊“GPIO”,選中“PE6”,確保 PE6 引腳的配置如圖 7 中的④~⑥所示凉袱。


圖7.png

6.保存 STM32CubeMX 工程

點擊“File(文件)”菜單芥吟,選擇“Save Project(保存工程)”選項侦铜,如圖 8 中標號①和標號②所示。然后定位到文件夾“D:\STM32_WorkSpace\task1_ProjectFirst”钟鸵,點擊“確定”保存 STM32CubeMX 工程钉稍;


圖8.png

7.生成 C 代碼初始工程

切換到“Project Manager(工程管理)”標簽,進行“C 代碼工程”的配置棺耍,如圖 9所示贡未。


圖9.png

點擊左側“Code Generator(代碼生成)”配置標簽,將“STM32Cube Firmware Library
Package”單選框的選項改為“Copy only the necessary library files”烈掠,如圖 9中的標號①所示羞秤。在“Generated files”復選框中增加勾選“Generate peripheral initializationas a pair of “.c/.h” files per peripheral”選項。如圖 9 中標號②所示左敌。點擊左側的“Project(工程)”配置標簽進行“C 代碼工程”保存的相關配置瘾蛋。由于之前已保存過 STM32CubeMX 的工程,因此“Project Name(工程名)”和“Project Location(工程存放位置)”處的信息已填好(分別如圖 10 的標號①和標號②處所示)矫限。

圖10.png

點擊圖 10 中的“Toolchain/IDE”下拉菜單(圖 10中標號③處)哺哼,選擇集成開發(fā)環(huán)境為“MDK-ARM V5”。最后點擊“GENERATE CODE(生成代碼)”按鈕(圖 10中標號④處)叼风,即可生成相應的C 代碼工程取董。

8.完善 main()函數(shù)

生成的 C 代碼工程位于工程文件夾中的“MDK-ARM”中,如圖 11中的標號①處所示无宿。雙擊工程文件(圖 11中標號②處)茵汰,使用 MDK-ARM 工具打開:


圖11.png

打開后的工程如圖 12 所示,展開左側的“工程列表”窗口孽鸡,打開“main.c”文件(圖 12 的標號①處)蹂午,在 while(1)代碼段中添加標號②處所示的兩行代碼。


圖12.png

9. C 代碼工程配置

點擊快捷工具欄中的魔術棒圖標進行 C 代碼工程的配置(圖 13 中標號①處)彬碱。切換到“Debug”標簽(圖 13 中標號②處)豆胸,選擇相應的調(diào)試工具,如:ST-Link Debugger(圖 13 中標號③處)巷疼。


圖13.png

點擊圖 13 中的“Settings”按鈕(標號④處)進入“調(diào)試與下載配置”界面晚胡,將調(diào)試工具端口改為“SW”,如圖 14 子圖(a)中標號①處所示嚼沿。如果 STM32 微控制器連接正常估盘,則會在右上角的“SW Device”窗口看到已連接的設備(圖 14 子圖(a)中標號②處)。點擊“Flash Download”標簽切換到“下載配置”界面(圖 14 子圖(b)中的標號③處)骡尽,勾選“Reset and Run”選項(圖 14 子圖(b)中的標號④處)忿檩。經(jīng)過這樣的配置以后,程序下載到 STM32 開發(fā)板后會自動重啟并運行爆阶。


圖14.png

9. 編譯工程、下載并運行

將 M3 主控模塊板的 JP1 撥碼開關撥向“boot”模式,如圖16 M3 主控模塊板燒寫設置所示辨图“嗵祝可點擊工具欄中的“Build(F7)”按鈕進行工程的編譯。編譯無誤后故河,點擊工具欄中的“DownLoad(F8)”按鈕進行工程的下載并運行吱韭。如圖 16 中的標號①和標號②處所示。燒寫完成后鱼的,再撥到NC模式理盆,按復位鍵,觀察LED燈凑阶;

圖15.png
圖16.png

本工程運行的現(xiàn)象是 LED2 閃爍猿规,亮 1 秒滅 1 秒,周期為 2 秒宙橱。
——————————————————————————————
總結:基于微控制器最小系統(tǒng)運行原理姨俩,工程創(chuàng)建的關鍵步驟是對MCU的必要資源進行配置,其中下載端口配置师郑,MCU時鐘配置是每一個工程項目創(chuàng)建都必須的步驟环葵;另外,注意工程創(chuàng)建的英文路徑宝冕,以及保存工程前的基本配置张遭;在編譯工程,下載并運行環(huán)節(jié)地梨,
參考文檔,菊卷,可以幫助理解ST-LINK下載原理和BOOT啟動模式;

(https://blog.csdn.net/wwt18811707971/article/details/78678059?utm_medium)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末湿刽,一起剝皮案震驚了整個濱河市的烁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诈闺,老刑警劉巖渴庆,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異雅镊,居然都是意外死亡襟雷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門仁烹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來耸弄,“玉大人,你說我怎么就攤上這事卓缰〖瞥剩” “怎么了砰诵?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長捌显。 經(jīng)常有香客問我茁彭,道長,這世上最難降的妖魔是什么扶歪? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任理肺,我火速辦了婚禮,結果婚禮上善镰,老公的妹妹穿的比我還像新娘妹萨。我一直安慰自己,他們只是感情好炫欺,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布乎完。 她就那樣靜靜地躺著,像睡著了一般竣稽。 火紅的嫁衣襯著肌膚如雪囱怕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天毫别,我揣著相機與錄音娃弓,去河邊找鬼。 笑死岛宦,一個胖子當著我的面吹牛台丛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播砾肺,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼挽霉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了变汪?” 一聲冷哼從身側響起侠坎,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎裙盾,沒想到半個月后实胸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡番官,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年庐完,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徘熔。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡门躯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出酷师,到底是詐尸還是另有隱情讶凉,我是刑警寧澤染乌,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站缀遍,受9級特大地震影響慕匠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜域醇,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓉媳。 院中可真熱鬧譬挚,春花似錦、人聲如沸酪呻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玩荠。三九已至漆腌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阶冈,已是汗流浹背闷尿。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留女坑,地道東北人填具。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像匆骗,于是被迫代替她去往敵國和親劳景。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348