0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32CubeMX新建工程+ 基本IO配置過程

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-25 10:47 ? 次閱讀

Ⅰ、寫在前面

學(xué)習(xí)本文之前可以查看我前面的文章:

STM32CubeMX介紹、下載與安裝

STM32CubeMX使用方法及功能介紹

本文接著上一篇文章結(jié)合基本IO配置實例,講述關(guān)于STM32CubeMX新建工程的過程。最終通過STM32CubeMX工具配置完成一個驅(qū)動IO(點亮LED)的軟件工程,也就是通過STM32CubeMX配置完成之后,打開工程直接下載就能點亮LED的工程。

本文使用Keil(MDK-ARM) V5軟件為編譯環(huán)境,如果你沒有安裝最新版本的軟件,請安裝最新版本的軟件,具體過程可以參考我的一篇文章:

MDK-ARM下載與安裝

關(guān)于本文的更多詳情請往下看。

Ⅱ、STM32CubeMX新建工程描述

在上一篇文章中簡單講述了新建一個工程的步驟,這里結(jié)合實例來講述新建工程的每一個步驟的細節(jié)。

1.打開STM32CubeMX軟件,點擊“新建工程”

2.選擇MCU或選擇(ST官方)開發(fā)板

A.如果是我們網(wǎng)上購買的,或者自己畫的開發(fā)板,點擊“MCU Selector”進入MCU選擇器。選擇器在網(wǎng)頁上常見,根據(jù)自己需求進行選擇(我們以STM32F103E為例)。

1.根據(jù)“系列”選擇;如:F0、F1、F2......F7、L0、L1、L4等;

2.根據(jù)“產(chǎn)品線”選擇;

3.根據(jù)“封裝”選擇;

4.根據(jù)“其他特征”選擇;如:FLASH大小、RAM大小、IO數(shù)量等。

層層篩選下來,最后就可以看到自己想要的芯片型號,雙擊“選中”芯片,如下圖:

B.如果你的開發(fā)板是購買ST官方的開發(fā)板(或評估板),點擊“Board Selector”進入開發(fā)板選擇器。(我們以STM3210E-EVAL為例)。

1.根據(jù)“廠商”選擇;目前只有ST廠商,估計以后會拓展其他廠商;

2.根據(jù)“板子類型”選擇;

3.根據(jù)“芯片系列”選擇;

層層篩選下來,最后就可以看到自己想要的芯片型號,雙擊“選中”芯片,如下圖:


上面兩種選中的方法類似,以及后面的的配置也很類似,我們下面以第一種選中MCU(STM32F103ZE)為例來講述。

3.工程配置

在上一步“選中”芯片之后,就進入了工程配置界面。

A.Project ->Settings彈出設(shè)置窗口;


B.在彈出的設(shè)置窗口有3個選項:

Project工程設(shè)置:這個選項是主要設(shè)置的選項,配置信息描述在下面;

Code Generator代碼生成配置:這個選項是關(guān)于代碼生成的配置。如:拷貝HAL庫的配置、生成.c和.h的配置(一般不用修改,默認配置)。

AdvancedSettings高級設(shè)置:這個選項在配置芯片(引腳功能)之后才能設(shè)置。


C.Project工程設(shè)置,這個選項是配置工程重要的一個選項,其中配置的信息也比較重要,且容易理解。


4.Pinout配置

這接下的配置才是與我們最終運行代碼密切相關(guān)的,我們這里以簡單的配置IO(PF11引腳)驅(qū)動LED為例來講述。

A.放大芯片圖標,找到PF11(可以通過Find查找):


B.選中PF11-> 左鍵 -> 彈出列表 -> 選中“GPIO_Output”


C.配置“晶振”引腳(RCC配置)

如果使用“外部晶振”就還需要繼續(xù)配置(我們配置HSE為例),包含三個配置:

HSE外部高速時鐘、LSE外部低速時鐘、MCO時鐘輸出。


5.Clock配置

這里的配置是比較人性化的配置,結(jié)合時鐘樹,一看就明白(也可以根據(jù)參考手冊時鐘樹配置),配置方法一樣。


6.“綜合”配置

由于我們只配置了PF11引腳,其他功能(如DMA、USB等)沒有配置,如果前面配置的有,這里配置的信息就比較多,所以叫“綜合配置”。

點擊GPIO,彈出配置對話框,按步驟依次填寫完信息,點擊“OK”就好了:

7.低功耗配置

一般在學(xué)習(xí)階段,低功耗配置比較少,在實際項目中配置低功耗需要考慮的東西比較多(包括硬件)。


8.生成代碼

在完成上面所有配置之后,最后的工作就是點擊“生成代碼”按鈕:


如果前面配置的生成軟件工程,就會拷貝HAL庫文件在你的工程:

最后提示打開軟件工程(前提是你已經(jīng)安裝了IDE:MDK-ARM)

9.編譯下載

打開工程,編譯沒有錯誤,沒有警告,下載,程序運行;


至此,整個過程就完成了。如果你的開發(fā)板LED燈引腳(PF11)和上面配置一樣,則下載到開發(fā)板,從新復(fù)位則可見LED燈亮(低電平點亮LED)。

STM32CubeMX基本IO配置過程(原始版),提供給大家下載地址(360云盤):

https://yunpan.cn/cMm9rBQZNX3H4 訪問密碼 6735

10.添加代碼

上面的工程是簡單的工程(配置初始化代碼),可以在提示處(如 USER CODE BEGIN)添加自己代碼。

我在“USER CODE BEGIN 0”下添加了一個“測試延時”函數(shù); 在“USER CODE BEGIN WHILE”處添加了一個LED亮滅語句。

添加以上兩處代碼就能實現(xiàn)LED間隔(延時)一段時間亮滅變化。

STM32CubeMX基本IO配置過程(修改版),提供給大家下載地址(360云盤):

https://yunpan.cn/cMmUMDSY8KSgi 訪問密碼 8304

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1172

    瀏覽量

    50150
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    280

    瀏覽量

    14713
收藏 人收藏

    評論

    相關(guān)推薦

    使用STM32CubeMX生成帶系統(tǒng)的Lwip工程,怎么都Ping不通的原因?

    使用STM32CubeMX生成帶系統(tǒng)的Lwip工程。生成后,怎么都Ping不通。 在不使用FreeRTOS時,要在main里的while(1)中添加MX_LWIP_Process();就可以Ping
    發(fā)表于 04-26 07:09

    使用STM32CubeMX生成帶系統(tǒng)的Lwip工程,生成后,怎么都Ping不通,為什么?

    使用STM32CubeMX生成帶系統(tǒng)的Lwip工程。生成后,怎么都Ping不通。 在不使用FreeRTOS時,要在main里的while(1)中添加MX_LWIP_Process();就可以Ping
    發(fā)表于 04-10 06:50

    STM32CubeMX生成stm32cubeide工程報錯的原因?怎么解決?

    使用STM32CubeMX,建立了STM32F103VC的工程文件,能夠生成IAR工程,正常使用沒有問題。由于IAR調(diào)試時老是閃退,想換STM32
    發(fā)表于 04-07 07:14

    STM32CubeMX STM32WL不能配置LoRaWAN的原因?

    STM32CubeMX 中使用STM32WL配置LoRaWAN時不能配置,請問為什么?
    發(fā)表于 04-02 07:47

    STM32CubeMX配置FREERTOS后無法生成代碼怎么解決?

    stm32cubemx配置了freertos后報錯,disable了freertos又能正常生成代碼
    發(fā)表于 03-28 09:55

    請問CUBEMX如何在middleware中配置motorcontrol?

    各位大佬,CUBEMX如何在middleware中配置motorcontrol??打開官方工程里面有motorcontrol,我打算自己新建工程,c
    發(fā)表于 03-25 07:34

    STM32CubeMX 6.5.0時鐘配置頁面的ADC時鐘源無法配置怎么解決?

    最新版STM32CubeMX 6.5.0,啟動ADC功能后,時鐘配置頁面的ADC時鐘源仍無法配置。STM32CubeMX 6.4.0使用正常。是不是新版的BUG?需要改進。
    發(fā)表于 03-25 07:04

    stm32cubemx生成不了keil工程的原因?

    stm32cubemx生成不了keil工程
    發(fā)表于 03-21 06:00

    使用STM32CUBEMX創(chuàng)建工程出錯的原因?

    使用STM32CUBEMX創(chuàng)建的工程,芯片是STM32H562VGT6,Keil版本是5.38,TouchGFX版本是4.21.3。這是錯誤提示:no touchgfx library found
    發(fā)表于 03-18 08:12

    STM32CubeMX安裝最新版本V6.9,Motor Control Workbench生成項目工程總是顯示STM32CubeMX not found的原因?

    STM32CubeMX安裝最新版本V6.9,但Motor Control Workbench生成項目工程,總是顯示STM32CubeMX not found?
    發(fā)表于 03-14 07:28

    如何使用STM32CubeMx配置STM32MP135的LTDC外設(shè)?

    請問一下,如何使用STM32CubeMx配置STM32MP135的LTDC外設(shè),打開后LTDC配置項是空的
    發(fā)表于 03-11 07:37

    STM32Cubemx配置USB虛擬串口,電腦無法識別怎么解決?

    STM32Cubemx配置USB虛擬串口,電腦無法識別問題?(上拉和驅(qū)動都配置好了)
    發(fā)表于 03-08 07:00

    基于STM32CUBEMX驅(qū)動低壓步進器電機驅(qū)動器STSPIN220(2)----驅(qū)動STSPIN220

    本文檔的目標是提供關(guān)于使用STM32CubeMX驅(qū)動低壓步進電機驅(qū)動器STSPIN220的詳盡信息和操作指南。通過本文檔,將深入了解如何利用STM32CubeMX配置電機驅(qū)動器,以及如何實現(xiàn)對步進電機的精確控制和運動。
    的頭像 發(fā)表于 12-01 15:25 ?900次閱讀
    基于<b class='flag-5'>STM32CUBEMX</b>驅(qū)動低壓步進器電機驅(qū)動器STSPIN220(2)----驅(qū)動STSPIN220

    實戰(zhàn)經(jīng)驗 | 一步一步創(chuàng)建STM32WBA BLE_Custom工程

    STM32CubeMX 工具的支持,用戶可使用 STM32CubeMX 的圖形化界面、快速生成具備 IO 配置、時鐘配置、外設(shè)
    的頭像 發(fā)表于 11-30 13:25 ?1697次閱讀

    stm32cube怎么安裝 STM32CubeMX安裝步驟教程

    STM32CubeMXSTM32芯片圖形化配置工具,通過簡單的操作便能實現(xiàn)相關(guān)配置,省去了我們配置各種外設(shè)的時間,支持MDK、IAR Fo
    發(fā)表于 11-14 12:37 ?1583次閱讀
    <b class='flag-5'>stm32</b>cube怎么安裝 <b class='flag-5'>STM32CubeMX</b>安裝步驟教程