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

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

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

STM32的GPIO使用

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 作者:STM32嵌入式開發(fā) ? 2020-09-03 09:28 ? 次閱讀

分享本文,介紹STM32的GPIO使用。

設(shè)置GPIO引腳的輸出功能,將對(duì)應(yīng)引腳拉高或拉低輸出

初步認(rèn)識(shí)STM32最新的HAL庫的使用

用代碼實(shí)現(xiàn)控制GPIO引腳輸出產(chǎn)生周期出1s 占空比為50%的PWM波

示例詳解

做實(shí)驗(yàn)用到的STM32F103C8T6最小系統(tǒng)板,如下圖所示。使用STM32cubemx 工具自動(dòng)產(chǎn)生的配置工程,使用KEIL5編譯代碼。

最小系統(tǒng)板原理圖:

新建并配置工程

在新彈出的界面中的搜索框中輸入 “stm32f103c8” ,并雙擊右側(cè)欄中列出的STM32F103C8

彈出如下圖所示界面,至此工程創(chuàng)建完成。

接下來配置工程。

配置系統(tǒng)伏仿真調(diào)試接口, 在System Core 目錄下單擊SYS選項(xiàng),將其中的Debug選項(xiàng)選為Serial Wire, 此時(shí)PA13 PA14引腳會(huì)被占用。

配置STM32 CUBEMX 工程。

配置系統(tǒng)時(shí)鐘源,在System Core 目錄下單擊RCC選項(xiàng),將其中的High Speed Clock( HSE )選項(xiàng)選為Crystal/ceramic resona…, 此時(shí)PD0 PD1引腳會(huì)被占用,配置圖如下。

配置GPIO PA0引卻為輸出,在右側(cè)圖中單擊PA0引腳 ,在出現(xiàn)的選項(xiàng)選框中選擇GPIO_Output 選項(xiàng),選完后在在System Core 目錄下單擊GPIO選項(xiàng),在GPIO子項(xiàng)中單擊列表中的PA0,可看查看到PA0的詳細(xì)設(shè)置參數(shù),也可以根據(jù)需要進(jìn)行修改,在這里保持默認(rèn)即可。

配置系統(tǒng)時(shí)鐘樹,將工程界面切換到Clock Configureation 界面,完成如下配置。

配置代碼生成,工程界面切換到Project Manager 界面,在界面左側(cè)單擊Project項(xiàng),將其設(shè)置成如下圖所示( 設(shè)置工程路徑在E:Stm32cubePrj目錄,工程名為stm32_gpio, 開發(fā)環(huán)境為 MDK-ARM v5 )。

在界面左側(cè)單擊Code Generator項(xiàng),將其設(shè)置成如下圖所示。

只拷貝所需文件到工程,為每個(gè)接口生成獨(dú)立的初始化頭文件和源文件,將所有未使用的引腳設(shè)為模擬輸入。

打開工程

生成代碼,單擊工程界面中”GENERATE TOOL” 開始生成代碼,代碼生成后彈出是否打開工程對(duì)話框,單擊“Open Project”打開創(chuàng)建的工程。

在代碼工程(MDK/keil)中的 main.c 中 man函數(shù)中如下紅框中代碼:

編譯工程

燒錄代碼,在代碼工程中單擊“Options for Target” 圖標(biāo),在彈出的窗口中選中“Debug”頁,選擇相應(yīng)的燒錄工具,本示例所用是jlink工具。

單擊右側(cè)“Setting”按鈕,將Port 設(shè)為“SW”, 最大速度建議不要超過5M。

如果仿真調(diào)式工具接線過長(zhǎng),可以將最大速度設(shè)為100K,這樣可以保證燒錄成功。

選“flash Download”頁,勾選“Reset and Run”,并確保其它內(nèi)容如下圖所示。

設(shè)置完上述設(shè)置后,便可進(jìn)行下載操作,將調(diào)試仿真工具中的與最小系統(tǒng)板連接好,在工程中點(diǎn)Download 按鈕,或按F8快捷鍵進(jìn)入下載,下載完成后會(huì)出現(xiàn)如下圖所示提示信息。

操作GPIO引腳實(shí)現(xiàn)周期1S占空為50%的PWM實(shí)驗(yàn)完成。

示波器邏輯分析工具在PA0引腳可以看到如下圖所示波形輸出?。?/p>

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

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354286
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1188

    瀏覽量

    51832

原文標(biāo)題:STM32CubeMX教程-GPIO

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32 GPIO的工作模式

    在之前圍繞STM32GPIO的基本結(jié)構(gòu)進(jìn)行了介紹,圖1為STM32的5V容忍的GPIO口內(nèi)部基本結(jié)構(gòu)圖,圖2為GPIO的基本結(jié)構(gòu)中各個(gè)模塊
    發(fā)表于 04-14 10:40 ?1769次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的工作模式

    STM32 GPIO寄存器的相關(guān)知識(shí)

    在之前的STM32GPIO理論基礎(chǔ)知識(shí)中,分別對(duì)基本結(jié)構(gòu)和工作模式進(jìn)行了詳細(xì)的介紹。 GPIO基本結(jié)構(gòu)中主要對(duì)GPIO內(nèi)部的各個(gè)功能電路逐一的進(jìn)行的分析;
    發(fā)表于 04-14 10:43 ?2685次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>寄存器的相關(guān)知識(shí)

    STM32 GPIO的API函數(shù)配置和使用技巧

    本篇開始對(duì)STM32GPIO在實(shí)際開發(fā)設(shè)計(jì)中的使用配置和技巧進(jìn)行探討,可以先去回顧下之前介紹的GPIO的相關(guān)理論基礎(chǔ)知識(shí)包括基本結(jié)構(gòu),工作模式和寄存器原理。
    發(fā)表于 04-14 10:46 ?1258次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的API函數(shù)配置和使用技巧

    STM32 GPIO的外部中斷設(shè)計(jì)

    在之前針對(duì)STM32GPIO相關(guān)API函數(shù)及配置使用進(jìn)行了詳細(xì)的介紹,GPIO作為輸入引腳時(shí),調(diào)用相關(guān)讀信號(hào)引腳函數(shù)接口就可以在程序的循環(huán)中,輪詢的對(duì)輸入信號(hào)進(jìn)行讀取檢測(cè)操作,除了輪詢的方式訪問
    發(fā)表于 04-14 10:51 ?2007次閱讀
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b>的外部中斷設(shè)計(jì)

    STM32GPIO操作配置和使用方法

    本篇開始對(duì)STM32GPIO在實(shí)際開發(fā)設(shè)計(jì)中的使用配置和技巧進(jìn)行探討,可以先去回顧下之前介紹的GPIO的相關(guān)理論基礎(chǔ)知識(shí)包括基本結(jié)構(gòu),工作模式和寄存器原理。
    的頭像 發(fā)表于 07-07 16:50 ?5431次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>操作配置和使用方法

    《振南電子STM32視頻教程》第七講:STM32GPIO和AFIO的配置和應(yīng)用

    [第7講] STM32GPIO和AFIO的配置和應(yīng)用(54分鐘),由何強(qiáng)主講.本課主要講解:(1).STM32GPIO;(2).STM32
    發(fā)表于 10-09 15:54 ?1315次閱讀

    STM32 GPIO寄存器ODR BSRR BRR

    STM32 GPIO寄存器ODR BSRR BRR詳細(xì)介紹
    發(fā)表于 07-29 10:27 ?2次下載

    關(guān)于STM32GPIO配置不同輸出速度會(huì)有什么影響?

    STM32GPIO配置不同輸出速度會(huì)有什么影響?
    的頭像 發(fā)表于 03-01 11:53 ?1.2w次閱讀
    關(guān)于<b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>配置不同輸出速度會(huì)有什么影響?

    STM32GPIO工作原理詳解

    STM32GPIO介紹 STM32引腳說明 GPIO是通用輸入/輸出端口的簡(jiǎn)稱,是STM32可控制的引腳。
    的頭像 發(fā)表于 12-18 15:36 ?7744次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>工作原理詳解

    STM32GPIO操作例程免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是KEIL官方STM32GPIO操作例程免費(fèi)下載。
    發(fā)表于 01-23 08:00 ?0次下載

    作業(yè)一、STM32GPIO綜合設(shè)計(jì)及PROTEUS仿真驗(yàn)證

    作業(yè)一、STM32GPIO綜合設(shè)計(jì)及PROTEUS仿真驗(yàn)證
    發(fā)表于 11-21 18:06 ?30次下載
    作業(yè)一、<b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>綜合設(shè)計(jì)及PROTEUS仿真驗(yàn)證

    stm32 GPIO使用總結(jié)

    stm32 GPIO使用總結(jié)
    發(fā)表于 12-01 11:21 ?8次下載
    <b class='flag-5'>stm32</b> <b class='flag-5'>GPIO</b>使用總結(jié)

    STM32-GPIO詳解

    STM32-GPIO配置介紹typedef struct { uint32_t GPIO_Pin; GPIOMode_TypeDef GPIO
    發(fā)表于 12-24 19:12 ?15次下載
    <b class='flag-5'>STM32-GPIO</b>詳解

    AN4899_STM32GPIO配置

    AN4899_STM32GPIO配置
    發(fā)表于 11-21 17:07 ?2次下載
    AN4899_<b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>配置

    STM32GPIO在實(shí)際開發(fā)設(shè)計(jì)的使用配置和技巧

    一、前言 本篇開始對(duì)STM32GPIO在實(shí)際開發(fā)設(shè)計(jì)中的使用配置和技巧進(jìn)行探討,可以先去回顧下之前介紹的GPIO的相關(guān)理論基礎(chǔ)知識(shí)包括基本結(jié)構(gòu),工作模式和寄存器原理。 了解過STM32
    的頭像 發(fā)表于 06-22 10:22 ?813次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>GPIO</b>在實(shí)際開發(fā)設(shè)計(jì)的使用配置和技巧