精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

STM32入門學習筆記之GPIO輸入輸出實驗(上)

jf_78858299 ? 來源:滑小稽筆記 ? 作者:電子技術園地 ? 2023-02-16 10:04 ? 次閱讀

5.1 STM32單片機GPIO概述

STM32中每個IO口都有很多個作用,比如這次我們使用的STM32F103ZET6的PA0口,既可以作為IO口使用,還可以作為待機喚醒(WAKEUP),模擬輸入(ADC功能)等。根據數據手冊中列出的每個I/O端口的特定硬件特征,GPIO端口的每個位可以由軟件分別配置成多種模式。

(1)輸入浮空

(2)輸入上拉

(3)輸入下拉

(4)模擬輸入

(5)開漏輸出

(6)推挽式輸出

(7)推挽式復用功能

(8)開漏復用功能

每個I/O端口位可以自由編程,然而I/O端口寄存器必須按32位字被訪問(不允許半字或字節訪問)。GPIOx_BSRR和GPIOx_BRR寄存器允許對任何GPIO寄存器的讀/更改的獨立訪問;這樣,在讀和更改訪問之間產生IRQ時不會產生異常錯誤。

STM32F103系列的基本IO口結構如下圖所示

圖片

從結構圖可以看出來,STM32的GPIO口可以配置好幾個選項,內部上拉下拉電阻的選擇,推挽輸出或者開漏輸出,對于復用功能,有專門的復用輸入支路和輸出支路。STM32F103的端口由10個寄存器控制,但是常用的并不多,時鐘控制寄存器APB2ENR,模式控制寄存器CRH和CRL,輸入寄存器IDR,輸出寄存器ODR。

5.2 相關寄存器

5.2.1 APB2 外設時鐘使能寄存器:RCC_APB2ENR

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
-
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- USART1EN - SPI1EN TIM1EN ADC2EN ADC1EN - IOPEEN IOPDEN IOPCEN IOPBEN IOPAEN - AFIOEN

Bit 14:串口1時鐘使能(寫1開啟,寫0關閉)

Bit 12:SPI1時鐘使能(寫1開啟,寫0關閉)

Bit 11:定時器1時鐘使能(寫1開啟,寫0關閉)

Bit 10:ADC2時鐘使能(寫1開啟,寫0關閉)

Bit 9:ADC1時鐘使能(寫1開啟,寫0關閉)

Bit 6:GPIOE時鐘使能(寫1開啟,寫0關閉)

Bit 5:GPIOD時鐘使能(寫1開啟,寫0關閉)

Bit 4:GPIOC時鐘使能(寫1開啟,寫0關閉)

Bit 3:GPIOB時鐘使能(寫1開啟,寫0關閉)

Bit 2:GPIOA時鐘使能(寫1開啟,寫0關閉)

Bit 0:輔助時鐘IO時鐘使能(寫1開啟,寫0關閉)

5.2.2 端口配置低寄存器:GPIOx_CRL(x=A..E)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CNF7 MODE7 CNF6 MODE6 CNF5 MODE5 CNF4 MODE4
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNF3 MODE3 CNF2 MODE2 CNF1 MODE1 CNF0 MODE0

端口配置表:

bit 31Bit 30:bit 27Bit 26:bit 23Bit 22:bit 19Bit 18:bit 15Bit 14:bit 11Bit 10:bit 7Bit 6:bit 3Bit 2: CNFy[1:0]:端口y的配置位(y=0……7)輸入模式下:00:模擬輸入模式01:浮空輸入模式(復位后的狀態)10:上拉/下拉輸入模式11:保留輸出模式下:00:通用推挽輸出模式01:通用開漏輸出模式10:復用功能推挽輸出模式11:復用功能開漏輸出模式
bit 29Bit 28:bit 25Bit 24:bit 21Bit 20:bit 17Bit 16:bit 13Bit 12:bit 9Bit 8:bit 5Bit 4:bit 1Bit 0: MODEy[1:0]:端口y的模式位(y=0……7)00:輸入模式(復位后的狀態)01:輸出模式,最大速度10MHz10:輸出模式,最大速度2MHz11:輸出模式,最大速度50MHz

5.2.3 端口配置高寄存器:GPIOx_CRH(x=A..E)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CNF15 MODE15 CNF14 MODE14 CNF13 MODE13 CNF12 MODE12
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNF11 MODE11 CNF10 MODE10 CNF9 MODE9 CNF8 MODE8

配置方式和端口配置低寄存器一致。

5.2.4 端口輸入數據寄存器:GPIOx_IDR(x=A..E)

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
-
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

Bit 15~Bit 0:端口輸入數據(這些位屬于只讀并只能以字的形式讀出)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IO
    IO
    +關注

    關注

    0

    文章

    435

    瀏覽量

    39080
  • adc
    adc
    +關注

    關注

    98

    文章

    6438

    瀏覽量

    544112
  • STM32
    +關注

    關注

    2266

    文章

    10873

    瀏覽量

    354838
收藏 人收藏

    評論

    相關推薦

    STM32F2技術培訓_通用輸入輸出端口_GPIO

    STM32F2技術培訓_通用輸入輸出端口_GPIO
    發表于 12-03 17:34 ?0次下載

    6.2 通用輸入輸出GPIO(神舟王207)

    此文檔是關于神舟王開發板輸入輸出GPIO的介紹和講解;
    發表于 05-25 10:01 ?2次下載

    MCU學習筆記_GPIO工作原理

    purpose input output, 通用輸入輸出端,可通過程序軟件配置成輸入或者輸出端。引腳與GPIO的區別和聯系STM32的引腳
    發表于 10-25 11:21 ?17次下載
    MCU<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>_<b class='flag-5'>GPIO</b>工作原理

    STM32的8種GPIO輸入輸出模式

    STM32的8種GPIO輸入輸出模式參考文章“STM32的8種GPIO輸入輸出模式深入詳解”和“
    發表于 11-26 17:06 ?16次下載
    <b class='flag-5'>STM32</b>的8種<b class='flag-5'>GPIO</b><b class='flag-5'>輸入輸出</b>模式

    [STM32]STM32F407系列教程之二,gpio輸入輸出實驗

    [STM32]STM32F407系列教程之二,gpio輸入輸出實驗
    發表于 11-29 14:06 ?19次下載
    [<b class='flag-5'>STM32</b>]<b class='flag-5'>STM32</b>F407系列教程之二,<b class='flag-5'>gpio</b><b class='flag-5'>輸入輸出</b><b class='flag-5'>實驗</b>

    2、【STM32F0系列學習—通用輸入輸出端口(GPIO)

    STM32F0系列學習—通用輸入輸出端口GPIO1、GPIO端口配置說明1、
    發表于 11-29 16:51 ?66次下載
    2、【<b class='flag-5'>STM32</b>F0系列<b class='flag-5'>學習</b>】<b class='flag-5'>之</b>—通用<b class='flag-5'>輸入輸出</b>端口(<b class='flag-5'>GPIO</b>)

    STM32學習筆記1——軟硬件基礎keil5編程與GPIO開發

    STM32學習筆記1——軟硬件基礎keil5編程與GPIO開發
    發表于 11-30 12:36 ?4次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>1——軟硬件基礎<b class='flag-5'>之</b>keil5編程與<b class='flag-5'>GPIO</b>開發

    ZYNQ學習筆記_GPIO輸入輸出

    ZYNQ學習筆記_GPIOGPIO介紹MIO介紹EMIO介紹控制GPIO接口的寄存器原理GPIO介紹GPIO的英文全稱為General-pu
    發表于 12-04 19:36 ?10次下載
    ZYNQ<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>_<b class='flag-5'>GPIO</b><b class='flag-5'>之</b><b class='flag-5'>輸入輸出</b>

    GPIO通用輸入輸出

    GPIO通用輸入輸出一、GPIO的功能概述用途:GPIO是通用輸入輸出(General Purpose I/O)的簡稱,主要用于工業現場需要
    發表于 12-20 18:58 ?6次下載
    <b class='flag-5'>GPIO</b>通用<b class='flag-5'>輸入輸出</b>

    STM32F1學習筆記

    (二)STM32學習GPIO1、GPIO簡介GPIO 是通用
    發表于 12-24 19:18 ?2次下載
    <b class='flag-5'>STM32</b>F1<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    STM32學習筆記---GPIO

    STM32學習筆記GPIO我使用的是STM32F401ZGT6,有7組IO口,每組16個引腳,共112個引腳。因為太菜了,確實容易出錯,
    發表于 01-13 16:31 ?6次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>---<b class='flag-5'>GPIO</b>

    第二章 stm32 cubemx GPIO輸入輸出實驗以及proteus仿真

    第二章 stm32 cubemx GPIO輸入輸出實驗以及proteus仿真文章目錄第二章 stm32 cubemx
    發表于 01-17 10:28 ?10次下載
    第二章 <b class='flag-5'>stm32</b> cubemx <b class='flag-5'>GPIO</b><b class='flag-5'>輸入輸出</b><b class='flag-5'>實驗</b>以及proteus仿真

    STM32學習筆記(二)---GPIO

    STM32學習筆記(二)—GPIOGPIO功能框圖GPIO功能描述輸入功能(浮空/拉/下拉)a
    發表于 01-18 08:46 ?2次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>(二)---<b class='flag-5'>GPIO</b>

    STM32入門學習筆記GPIO輸入輸出實驗(下)

    STM32中每個IO口都有很多個作用,比如這次我們使用的STM32F103ZET6的PA0口,既可以作為IO口使用,還可以作為待機喚醒(WAKEUP),模擬輸入(ADC功能)等。根據數據手冊中列出的每個I/O端口的特定硬件特征,
    的頭像 發表于 02-16 10:04 ?828次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>入門</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>GPIO</b><b class='flag-5'>輸入輸出</b><b class='flag-5'>實驗</b>(下)

    i.MX6ULL學習筆記GPIO按鍵輸入捕獲

    掌握GPIO輸入輸出是必備技能,這篇推文繼續來學習操作GPIO,這篇主要學習GPIO
    的頭像 發表于 04-06 10:37 ?1102次閱讀