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

chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于stm32的GPIO寄存器學(xué)習(xí)解析

MCU開(kāi)發(fā)加油站 ? 2018-01-11 09:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

包括:

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

兩個(gè)32位的數(shù)據(jù)寄存器 GPIOx->IDR,GPIOx->ODR

一個(gè)32位的 set/reset 寄存器 GPIOx->BSRR

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

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

端口的模式包括:

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

基于stm32的GPIO寄存器學(xué)習(xí)解析

上拉輸入(Input pull-up)

下拉輸入(Input-pull-down)

模擬輸入(Analog

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

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

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

復(fù)用功能開(kāi)漏輸出(Alternate function open-drain)——片內(nèi)外設(shè)功能(USART的TX1,SPI的MOSI,MISO,SCK,SS)

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

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

其余具體的可以查看stm3210x 手冊(cè)

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

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

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

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

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

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

注:用BSRR和BRR去改變管腳狀態(tài)的時(shí)候,沒(méi)有被中斷打斷的風(fēng)險(xiǎn),也就不需要關(guān)閉中斷

GPIOx->LCKR 端口配置鎖定寄存器(x = A~ G,該寄存器偏移地址為:0x18):用來(lái)鎖定對(duì)應(yīng)位的端口位配置,當(dāng)端口被鎖定時(shí),不再有可能修改它的值,直到系統(tǒng)復(fù)位。每一個(gè)鎖都凍結(jié)相應(yīng)的4位控制寄存器(CRL,CRH)

例子:

/*根據(jù)高8位的輸入電平來(lái)決定低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;}

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

    關(guān)注

    31

    文章

    5587

    瀏覽量

    128993
  • STM32
    +關(guān)注

    關(guān)注

    2305

    文章

    11118

    瀏覽量

    370956
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1312

    瀏覽量

    55684

原文標(biāo)題:stm32之GPIO寄存器學(xué)習(xí)

文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CSD寄存器解析

    CSD寄存器解析,SD卡寄存器解說(shuō),值得學(xué)習(xí)。
    發(fā)表于 01-06 14:25 ?0次下載

    STM32 GPIO寄存器ODR BSRR BRR

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

    STM32 BSRR BRR ODR寄存器詳情解析

    BSRR 和 BRR 都是 STM32 系列 MCU 中 GPIO寄存器。 BSRR 稱(chēng)為端口位設(shè)置/清楚寄存器,BRR稱(chēng)為端口位**寄存器
    發(fā)表于 11-13 09:54 ?1.3w次閱讀

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

    STM32的每個(gè)GPIO端口都有兩個(gè)特別的寄存器,GPIOx_BSRR和GPIOx_BRR寄存器,通過(guò)這兩個(gè)寄存器可以直接對(duì)對(duì)應(yīng)的GPIOx
    發(fā)表于 11-26 11:50 ?1次下載

    STM32F4寄存器與IO輸入輸出學(xué)習(xí)

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

    STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化

    文章目錄一、STM32F103系列芯片的地址映射和寄存器映射原理1.寄存器2.地址映射和寄存器映射原理二、GPIO端口的初始化1.
    發(fā)表于 12-05 14:21 ?10次下載
    <b class='flag-5'>STM32</b>F103系列芯片的地址映射和<b class='flag-5'>寄存器</b>映射原理,<b class='flag-5'>GPIO</b>端口的初始化

    GPIO寄存器

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

    STM32寄存器點(diǎn)燈

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

    STM32學(xué)習(xí)筆記(2)——寄存器

    STM32 第二天寄存器寄存器功能:寄存器的功能是存儲(chǔ)二進(jìn)制代碼,它是由具有存儲(chǔ)功能的觸發(fā)組合起來(lái)構(gòu)成的。一個(gè)觸發(fā)
    發(fā)表于 12-08 17:36 ?18次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學(xué)習(xí)</b>筆記(2)——<b class='flag-5'>寄存器</b>

    stm32是如何將寄存器值通過(guò)標(biāo)準(zhǔn)庫(kù)寫(xiě)入寄存器的?

    GPIO_Init函數(shù)3.總結(jié)0. 前言在平時(shí)的學(xué)習(xí)和工作中,可能很少有人會(huì)實(shí)際去操作寄存器,但是去了解庫(kù)函數(shù)是如何去操作寄存器是很有必要的。不僅可以加深對(duì)
    發(fā)表于 12-16 16:58 ?18次下載
    <b class='flag-5'>stm32</b>是如何將<b class='flag-5'>寄存器</b>值通過(guò)標(biāo)準(zhǔn)庫(kù)寫(xiě)入<b class='flag-5'>寄存器</b>的?

    STM32-GPIO_寄存器版(1)

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

    STM32 GPIO學(xué)習(xí)

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

    配置STM32寄存器控制GPIO點(diǎn)亮LED

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

    STM32F103寄存器配置相關(guān)學(xué)習(xí) —— GPIO

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

    STM32GPIO的相關(guān)配置寄存器、庫(kù)函數(shù)、位操作

    STM32的每組GPIO口包括7個(gè)寄存器。也就是說(shuō),每個(gè)寄存器可以控制一組GPIO的16個(gè)GPIO
    發(fā)表于 02-10 10:24 ?5次下載
    【<b class='flag-5'>STM32</b>】<b class='flag-5'>GPIO</b>的相關(guān)配置<b class='flag-5'>寄存器</b>、庫(kù)函數(shù)、位操作