国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32 寄存器配置筆記——GPIO配置輸出

這篇具有很好參考價(jià)值的文章主要介紹了STM32 寄存器配置筆記——GPIO配置輸出。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、概述

? ? ? ?本文主要介紹GPIO 作為輸出時的寄存器配置。包括時鐘配置,輸出模式配置。以STM32F10xxx系列為例,配置PA8、PD2端口作為輸出,輸出高/低電平。

二、配置流程

? ? ? ? 1)GPIO外設(shè)時鐘

? ? ? ? ?通過查找STM32F10xxx中文參考手冊得知,GPIO PORT口的時鐘配置在RCC_APB2ENR寄存器的第2~6位,如下圖:gpio寄存器配置,stm32,嵌入式硬件,單片機(jī)

使能PORTA 和 PORTD 的時鐘:

RCC->APB2ENR |= 1 << 2;//enable portA clk
RCC->APB2ENR |= 1 << 5;//enable portD clk

? ? ? 2)?配置GPIO模式

? ? ? PORT A的PIN 8和PORT D的PIN 2配置為通用推挽(PP)輸出模式,GPIO速度配置為50MHZ。CRL寄存器配置的是PIN0~7,CRH寄存器配置的是PIN8~15。

gpio寄存器配置,stm32,嵌入式硬件,單片機(jī)

gpio寄存器配置,stm32,嵌入式硬件,單片機(jī)

GPIOA->CRH &= 0xFFFFFFF0;
GPIOA->CRH |= 0x3;         //GPIO PORTA PIN 8 cfg PP & output 50MHZ
GPIOD->CRL &= 0xFFFFF0FF;
GPIOD->CRL |= 0x3 << 8;    //GPIO PORTD PIN 2 cfg PP & output 50MHZ

? ? ? ? ? ? ? 3)配置 IO口輸出電平

? ? ? ? ? ? ? 有如下幾種方式:

? ? ? ? ? ? ? a)配置ODR寄存器gpio寄存器配置,stm32,嵌入式硬件,單片機(jī)

? ? ? ? ? ??

GPIOA->ODR |= 1 << 8;//GPIO PORT A PIN8 cfg output level '1'
GPIOA->ODR &= ~(1 << 8);//GPIO PORT A PIN8 cfg output level '0'

GPIOD->ODR |= 1 << 2;//GPIO PORT D PIN2 cfg output level '1'
GPIOD->ODR &= ~(1 << 2);//GPIO PORT D PIN2 cfg output level '0'

? ? ? ? ? ? ? b)配置BSRR和BRR寄存器

? ? ? ? ? ? ??gpio寄存器配置,stm32,嵌入式硬件,單片機(jī)

? ? ? ? ? ? ??

	GPIOA->BSRR = 1 << 8;   //GPIO PORTA PIN8 cfg output level '1'
	GPIOA->BSRR = 1 << 24;  //GPIO PORTA PIN8 cfg output level '0'

	GPIOD->BSRR = 1 << 2;   //GPIO PORTD PIN2 cfg output level '1'
	GPIOD->BSRR = 1 << 18;  //GPIO PORTD PIN2 cfg output level '0'

? ? ? ? ? ? ?注:如果出現(xiàn)同時配置BR2和BS2為1即端口需要置位且需要復(fù)位,則此時置位生效,電平輸出為1。

gpio寄存器配置,stm32,嵌入式硬件,單片機(jī)

? ? ? ? ? ? ? ?

	GPIOA->BRR = 1 << 8;  //GPIO A PIN 8 cfg output level '0'
    GPIOD->BRR = 1 << 2;  //GPIO D PIN 2 cfg output level '0'

三、ODR和BSRR、BRR的區(qū)別

? ? ? ODR 可讀寫,相對耗時序,BSRR和BRR只能寫,但不耗時序。由上可知配置PA8輸出電平。

ODR寄存器,配置的時候只需配置端口8,其它bit位要保持原樣。因此操作如下:

GPIOA->ODR |= 1 << 8;

讀取ODR寄存器->或運(yùn)算->寫入

(GPIOA->ODR |= 1 << 8

->

GPIOA->ODR = GPIOA->ODR | (1 << 8))

而BSRR和BRR寄存器只需:

	GPIOA->BSRR = 1 << 8;
	GPIOA->BRR = 1 << 8;

?賦值即可,因?yàn)槿缦绿匦裕?/p>

gpio寄存器配置,stm32,嵌入式硬件,單片機(jī)

? ? ? ? ? 在手冊上有如下描述:

gpio寄存器配置,stm32,嵌入式硬件,單片機(jī)

即用BSRR和BRR去改變管腳狀態(tài)的時候,沒有被中斷打斷的風(fēng)險(xiǎn)。也就不需要關(guān)閉中斷。因?yàn)锽SRR寄存器的操作只有一個動作賦值。文章來源地址http://www.zghlxwxcb.cn/news/detail-819982.html

到了這里,關(guān)于STM32 寄存器配置筆記——GPIO配置輸出的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32 | GPIO口的普通與復(fù)用如何配置與用法,本文降從最底層教你如何查看手冊運(yùn)用寄存器來實(shí)現(xiàn)GPIO口的配置

    STM32 | GPIO口的普通與復(fù)用如何配置與用法,本文降從最底層教你如何查看手冊運(yùn)用寄存器來實(shí)現(xiàn)GPIO口的配置

    ??【藍(lán)橋杯嵌入式】專題正在持續(xù)更新中,原理圖解析?,各模塊分析?以及歷年真題講解?都在這兒哦,歡迎大家前往訂閱本專題,獲取更多詳細(xì)信息哦?????? ??本系列專欄 -??藍(lán)橋杯嵌入式_勾欄聽曲_0的博客 ??歡迎大家? ??? 點(diǎn)贊??? 評論??? 收藏?? ??個人主

    2024年02月14日
    瀏覽(22)
  • STM32 寄存器配置筆記——USART配置中斷接收乒乓緩存處理

    STM32 寄存器配置筆記——USART配置中斷接收乒乓緩存處理

    ? ? ? ?本文主要介紹如何配置USART接收中斷,使用乒乓緩存的設(shè)計(jì)接收數(shù)據(jù)并將其回顯在PC 串口工具上。以stm32f10為例,配置USART1 9600波特率。具體配置參考上一章節(jié)STM32 寄存器配置筆記——USART配置 打印。 ? ? ? ? 乒乓緩存的設(shè)計(jì)應(yīng)用場景:當(dāng)后面的處理單元在工作期間,

    2024年02月20日
    瀏覽(24)
  • 明解STM32—GPIO理論基礎(chǔ)知識篇之寄存器原理?

    明解STM32—GPIO理論基礎(chǔ)知識篇之寄存器原理?

    一、前言 ????????在之前的STM32的GPIO理論基礎(chǔ)知識中,分別對基本結(jié)構(gòu)和工作模式進(jìn)行了詳細(xì)的介紹。GPIO基本結(jié)構(gòu)中主要對GPIO內(nèi)部的各個功能電路逐一的進(jìn)行的分析;GPIO工作模式中主要介紹GPIO應(yīng)用在不同的使用場景下,GPIO端口的靜態(tài)特征配置和動態(tài)的工作模式,同時對

    2024年02月16日
    瀏覽(22)
  • STM32 | STM32時鐘分析、GPIO分析、寄存器地址查找、LED燈開發(fā)(第二天)

    STM32 | STM32時鐘分析、GPIO分析、寄存器地址查找、LED燈開發(fā)(第二天)

    寄存器 :寄存器的功能是存儲二進(jìn)制代碼,它是由具有存儲功能的觸發(fā)器組合起來構(gòu)成的。一個觸發(fā)器可以存儲1位二進(jìn)制代碼,故存放n位二進(jìn)制代碼的寄存器,需用n個觸發(fā)器來構(gòu)成 在計(jì)算機(jī)領(lǐng)域,寄存器是CPU內(nèi)部的元件,包括通用寄存器、專用寄存器和 控制寄存器 。寄存

    2024年03月08日
    瀏覽(36)
  • 嵌入式學(xué)習(xí)筆記——STM32的USART相關(guān)寄存器介紹及其配置

    嵌入式學(xué)習(xí)筆記——STM32的USART相關(guān)寄存器介紹及其配置

    上一篇中,對串口做了個概述,主要是介紹了串口通信的特征,異步串行全雙工通信,然后就是結(jié)合串口的框圖梳理了一下STM32中USART的配置流程以及發(fā)送接收數(shù)據(jù)的流程,本文將接著上篇的內(nèi)容,對串口的寄存器做個介紹,然后實(shí)現(xiàn)一個簡單的收發(fā)實(shí)驗(yàn)。 根據(jù)之前GPIO的經(jīng)驗(yàn)

    2024年02月05日
    瀏覽(21)
  • STM32F103ZET6 GPIO工作模式介紹+使用寄存器點(diǎn)亮第一個LED燈

    STM32F103ZET6 GPIO工作模式介紹+使用寄存器點(diǎn)亮第一個LED燈

    目錄 ?GPIO的工作模式介紹 1.輸入模式(模擬、上拉、下拉、浮空) 2.輸出模式(推挽/開漏) 3.復(fù)用功能(推挽/開漏) 4.模擬輸入輸出(上下拉無影響) 如何使用寄存器點(diǎn)亮第一個LED燈 ? ? ? ? 在輸入模式時,施密特觸發(fā)器打開,輸出被禁止。可通過輸入數(shù)據(jù)寄存器 GPIOx_

    2024年02月06日
    瀏覽(91)
  • 【六一】【海思SS528】GPIO寄存器操作 - 使能GPIO管腳輸出高、低電平

    【六一】【海思SS528】GPIO寄存器操作 - 使能GPIO管腳輸出高、低電平

    這篇文章根據(jù)海思SS528芯片提供的 《22AP30 H.265編解碼處理器用戶指南.pdf》 文檔(文檔路徑: SS528ReleaseDochardwarechip ),演示怎樣操作GPIO寄存器來控制某個IO口輸出高電平,本文控制的是 GPIO20_6 。 關(guān)于如何操作寄存器的步驟,在文檔的 13.6.3 有提供說明,結(jié)合本文目的分為三個

    2024年02月08日
    瀏覽(19)
  • 【STM32學(xué)習(xí)】定時器寄存器配置、功能工作過程詳解

    【STM32學(xué)習(xí)】定時器寄存器配置、功能工作過程詳解

    STM32-定時器詳解 STM32個人筆記-定時器 本文針對STM32F103系列單片機(jī)的定時器進(jìn)行介紹。 主要是其常用功能的工作流程、以及寄存器的對應(yīng)配置。 該圖清晰的表明了各種定時器的參數(shù)與功能。其中,基礎(chǔ)定時器基本上就只有最簡單的計(jì)數(shù)到了然后觸發(fā)中斷的功能;通用和高級定

    2024年02月15日
    瀏覽(21)
  • STM32-串口通信波特率計(jì)算以及寄存器的配置詳解

    STM32-串口通信波特率計(jì)算以及寄存器的配置詳解

    處理器與外部設(shè)備通信的兩種方式 并行通信 傳輸原理:數(shù)據(jù)各個位同時傳輸。 優(yōu)點(diǎn):速度快 缺點(diǎn):占用引腳資源多 串行通信 傳輸原理:數(shù)據(jù)按位順序傳輸 優(yōu)點(diǎn):占用引腳資源少 缺點(diǎn):速度相對較慢 按照數(shù)據(jù)傳送方向,分為: 單工 :數(shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一個方向上傳輸

    2024年02月05日
    瀏覽(29)
  • 【ARM裸機(jī)編程 | 海思SS528】- 操作 GPIO 寄存器輸出低電平點(diǎn)亮 LED 燈

    【ARM裸機(jī)編程 | 海思SS528】- 操作 GPIO 寄存器輸出低電平點(diǎn)亮 LED 燈

    這篇文章主要介紹在 海思SS528 開發(fā)板,去操作某個 GPIO 寄存器輸出高、低電平,來熄滅或點(diǎn)亮 LED 燈。 首先,了解一下 ARM裸機(jī)編程 ,也就是在一塊沒有移植操作系統(tǒng)的ARM開發(fā)板去編程,相當(dāng)于把它當(dāng)成單片機(jī)去使用,很多與硬件相關(guān)的操作都需要直接讀寫該硬件的寄存器。

    2024年02月10日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包