CRL,GPIOx->CRH 兩個32位的數據寄存器 GPIOx->IDR,GPIOx->ODR 一個32位的 set/reset 寄存器 GPIOx->BSRR 一位16位的 reset 寄存器 GPIOx->BRR 一位32位的鎖定寄存器 GPIOx->LCKR。" />

在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于stm32的GPIO寄存器學習解析

MCU開發加油站 ? 2018-01-11 09:03 ? 次閱讀

GPIO即通用輸入/輸出 (General Purpose Input Output)

包括:

兩個32位的配置寄存器 GPIOx->CRL,GPIOx->CRH

兩個32位的數據寄存器 GPIOx->IDR,GPIOx->ODR

一個32位的 set/reset 寄存器 GPIOx->BSRR

一位16位的 reset 寄存器 GPIOx->BRR

一位32位的鎖定寄存器 GPIOx->LCKR

端口的模式包括:

浮空輸入(Input floating)—— 即沒有上拉電阻和下拉電阻,電壓呈不確定性,一般用來做ADC輸入用,這樣可以減少上下拉電阻對結果的影響

基于stm32的GPIO寄存器學習解析

上拉輸入(Input pull-up)

下拉輸入(Input-pull-down)

模擬輸入(Analog

開漏輸出(Output open-drain)—— 輸出邏輯0,則N-MOS激活; 輸出邏輯1,端口處于高阻(電阻非常大,但不是斷路,此外,P-MOS從未激活)

推挽輸出(Output push-pull)—— 輸出邏輯0,則N-MOS激活;輸出邏輯1,P-MOS激活

復用功能推挽輸出(Alternate function push-pull)——片內外設功能(I2C的SCL,SDA)

復用功能開漏輸出(Alternate function open-drain)——片內外設功能(USART的TX1,SPI的MOSI,MISO,SCK,SS)

復用開漏輸出、復用推挽輸出:可以理解為GPIO口被用作第二功能時的配置情況(即并非作為通用IO口使用)

注意:I / O端口寄存器被訪問為32位字(半字或字節存取是不允許的)

其余具體的可以查看stm3210x 手冊

GPIOx->CRL 低位(0-7)端口配置寄存器(x = A~ G,該寄存器偏移地址為:0x00):

GPIOx->CRH 高位(8-15)端口配置寄存器(x = A~ G,該寄存器偏移地址為:0x04):

GPIOx->IDR 端口數據輸入寄存器(x = A~ G,該寄存器偏移地址為:0x08):只讀,可以讀取IO口輸入的值

GPIOx->ODR 端口數據輸出寄存器(x = A~ G,該寄存器偏移地址為:0x0C):可寫可讀,可以設置IO口輸出的值

GPIOx->BSRR 低位端口配置寄存器(x = A~ G,該寄存器偏移地址為:0x10):0-15位——為1時,可以使ODRx相應的位置1,為0時,無變化 。15-31位——為1時,可以使ODRx相應的位清零,為0時,無變化(注:當set和reset都設置了,則set優先級高)

GPIOx->BSR 低位端口配置寄存器(x = A~ G,該寄存器偏移地址為:0x14): 0-15位——為1時,可以使ODRx相應的位清零,為0時,無變化

注:用BSRR和BRR去改變管腳狀態的時候,沒有被中斷打斷的風險,也就不需要關閉中斷

GPIOx->LCKR 端口配置鎖定寄存器(x = A~ G,該寄存器偏移地址為:0x18):用來鎖定對應位的端口位配置,當端口被鎖定時,不再有可能修改它的值,直到系統復位。每一個鎖都凍結相應的4位控制寄存器(CRL,CRH)

例子:

/*根據高8位的輸入電平來決定低8位的輸出電平*/

GPIOA->CRL = 0x33333333; //GPIOA.0-GPIO0.7 output push-pull 50MHzGPIOA->CRH = 0x44444444; //GPIOA.8-GPIOA.15 input floating

while(1){if(GPIOA->IDR & 0xff00)GPIOA->ODR = (GPIOA->IDR >> 8) & 0xff;elseGPIOA->ODR = 0;}

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

    關注

    31

    文章

    5343

    瀏覽量

    120377
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    356045
  • GPIO
    +關注

    關注

    16

    文章

    1204

    瀏覽量

    52104

原文標題:stm32之GPIO寄存器學習

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CSD寄存器解析

    CSD寄存器解析,SD卡寄存器解說,值得學習
    發表于 01-06 14:25 ?0次下載

    STM32 GPIO寄存器ODR BSRR BRR

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

    STM32 BSRR BRR ODR寄存器詳情解析

    BSRR 和 BRR 都是 STM32 系列 MCU 中 GPIO寄存器。 BSRR 稱為端口位設置/清楚寄存器,BRR稱為端口位**寄存器
    發表于 11-13 09:54 ?1.2w次閱讀

    STM32使用BSRR和BRR寄存器快速操作GPIO端口

    STM32的每個GPIO端口都有兩個特別的寄存器,GPIOx_BSRR和GPIOx_BRR寄存器,通過這兩個寄存器可以直接對對應的GPIOx
    發表于 11-26 11:50 ?1次下載

    STM32F4寄存器與IO輸入輸出學習

    IO設置函數包括兩個函數:GPIO_Set和GPIO_AF_Set. GPIO_AF_Set,每次只能設置一個IO口的復用功能。STM32F4的每組通用I/O端口包括4個32位配置
    發表于 11-29 14:21 ?10次下載
    <b class='flag-5'>STM32</b>F4<b class='flag-5'>寄存器</b>與IO輸入輸出<b class='flag-5'>學習</b>

    GPIO寄存器

    ,一般高16位保留BSRR寄存器32位分為低16位BSRRL和高16位BSRRH,BSRRL配置一組IO口的16個IO口的狀態(1),BSRRH配置復位狀態(0)。每組GPIO端口的寄存器包括:4個32位配置
    發表于 12-08 17:06 ?5次下載
    <b class='flag-5'>GPIO</b><b class='flag-5'>寄存器</b>

    STM32寄存器點燈

    配置寄存器使STM32最小系統板上的LED燈點亮根據原理圖,要使D2點亮,需要將PC13拉低,分為以下步驟:使能GPIO的時鐘配置GPIO13為輸出模式配置
    發表于 12-08 17:21 ?3次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>寄存器</b>點燈

    STM32學習筆記(2)——寄存器

    STM32 第二天寄存器寄存器功能:寄存器的功能是存儲二進制代碼,它是由具有存儲功能的觸發組合起來構成的。一個觸發
    發表于 12-08 17:36 ?18次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b>筆記(2)——<b class='flag-5'>寄存器</b>

    深入淺出談STM32F4系列單片機GPIO相關配置——寄存器

    STM32通用I/O(GPIO)從嵌入式開發實踐中總結出來的教程,深入淺出地教大家怎樣掌握STM32IO口的使用。所謂寄存器配置,其實就是通過直接操作
    發表于 12-14 18:42 ?0次下載
    深入淺出談<b class='flag-5'>STM32</b>F4系列單片機<b class='flag-5'>GPIO</b>相關配置——<b class='flag-5'>寄存器</b>版

    stm32是如何將寄存器值通過標準庫寫入寄存器的?

    GPIO_Init函數3.總結0. 前言在平時的學習和工作中,可能很少有人會實際去操作寄存器,但是去了解庫函數是如何去操作寄存器是很有必要的。不僅可以加深對
    發表于 12-16 16:58 ?18次下載
    <b class='flag-5'>stm32</b>是如何將<b class='flag-5'>寄存器</b>值通過標準庫寫入<b class='flag-5'>寄存器</b>的?

    STM32-GPIO_寄存器版(1)

    本文基于STM32F407ZGT6,適用于M3/M4大部分內核的STM32芯片。——————————————————————————————STM32每個通用 I/O 端口包括 10個32位
    發表于 12-28 19:26 ?0次下載
    <b class='flag-5'>STM32-GPIO</b>_<b class='flag-5'>寄存器</b>版(1)

    STM32 GPIO學習

    GPIO函數一(IDR 是一個端口輸入數據寄存器,只用了低 16 位。該寄存器為只讀寄存器,并且只能以16 位的形式讀出)uint8_t GPIO
    發表于 01-12 18:24 ?3次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>GPIO</b><b class='flag-5'>學習</b>

    配置STM32寄存器控制GPIO點亮LED

    STM32點亮LED 寄存器方式IO簡介1、每個IO可以自由編程,但是IO口寄存器必須按照32位字被訪問。2、每個IO端口都有7個寄存器來控制。CRL 【0-7】端口配置
    發表于 01-13 16:15 ?3次下載
    配置<b class='flag-5'>STM32</b><b class='flag-5'>寄存器</b>控制<b class='flag-5'>GPIO</b>點亮LED

    STM32F103寄存器配置相關學習 —— GPIO

    1. GPIO相關寄存器1.1 配置寄存器(CRL、CRH)1.2 數據寄存器(IDR、ODR)1.3 位設置/清除寄存器(BSRR)1.4
    發表于 01-17 09:33 ?2次下載
    <b class='flag-5'>STM32</b>F103<b class='flag-5'>寄存器</b>配置相關<b class='flag-5'>學習</b> —— <b class='flag-5'>GPIO</b>

    STM32GPIO的相關配置寄存器、庫函數、位操作

    STM32的每組GPIO口包括7個寄存器。也就是說,每個寄存器可以控制一組GPIO的16個GPIO
    發表于 02-10 10:24 ?5次下載
    【<b class='flag-5'>STM32</b>】<b class='flag-5'>GPIO</b>的相關配置<b class='flag-5'>寄存器</b>、庫函數、位操作
    主站蜘蛛池模板: 国产v精品成人免费视频400条| 日本三区四区免费高清不卡| 交在线观看网站视频| 三级电影天堂网| www四虎在线高清| 久久久久久噜噜噜久久久精品| 午夜视频在线观看免费高清| 人人爽影院| 狠狠gao| 欧美ab在线| 免费在线观看大片影视大全| 色a4yy综合私人| 你懂的手机在线| 欧美大黄| 伊人久久大香线蕉综合影| 色婷婷基地| 校园春色亚洲欧美| 欧洲亚洲一区| 久久婷婷国产精品香蕉| 黄网在线免费看| 性欧美视频videos6一9| 免费国产成人α片| 美女大黄三级视频在线观看| 成人免费看黄网站无遮挡| 久久综合久久久| 国产午夜精品理论片免费观看| 午夜色图| 亚洲444kkk| 国产精品乱码高清在线观看| 韩国三级理论在线观看视频 | 亚洲激情综合| 日本aaaaa毛片在线视频| 久久精品韩国三级| 在线观看网站黄| 伊人www| av在线天堂网| 欧美人成一本免费观看视频| 狠狠色丁香婷婷综合视频| 视频在线h| 农村妇女色又黄一级毛片卡| 好吊788gaoco|