日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【浅析STM32之GPIO寄存器(CRL/CRH)配置 】

發布時間:2023/12/14 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【浅析STM32之GPIO寄存器(CRL/CRH)配置 】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

淺析STM32之GPIO寄存器(CRL/CRH)配置

一、前言

GPIO的配置可以說是STM單片機的一大特色,通過GPIO的配置我們可以進行多種不同模式的輸入和輸出,并且進行配置的方式也有多種,一般我們在使用的過程中可能大多數都是通過庫函數來進行配置的,這樣確實也比較方便,但有時候我們也不難免會使用寄存器進行配置,代碼可能會更加簡潔,所以掌握寄存器的配置對我們來說也很重要。

特別是在進行IIC的數據引腳輸入輸出配置時寄存器的作用十分重要

二、寄存器配置分析 #define IIC_INPUT_MODE_SET() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=8<<28;}//改變PB7對應位為1000(CNF[1:0]MODE[1:0]),設置成上拉或者下拉輸入 #define IIC_OUTPUT_MODE_SET() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=3<<28;}//改變PB7對應位為0011,設置成通用推挽輸出

上述代碼是我在另一篇博文進行IIC的數據引腳進行輸入輸出配置的代碼,下面我會進行相關寄存器的講解,然后進行此代碼的分析,相信大家會一目了然了。

在stm32單片機中我們可以發現,單片機的引腳分成了很多組GPIOA~GPIOE,并且每一組中又有0-15共16個引腳,每個IO口由4bit位來控制,那么一組IO就需要16*4 = 64bit,但我們使用的是32位的單片機,所以又將64Bit分成了兩部分,高32bit又GPIOX_CRH寄存器來配置,低32bit由GPIOX_CRLj寄存器來進行配置.對應的引腳CRL為0到7CRH為8到15。

下面是官方數據手冊的內容

GPIOX_CRL

GPIOX_CRH

從上面我們可以看出不管是GPIOX_CRL還是GPIOX_CRH每個IO都是由CNF[1:0]和MODE[1:0]兩部分進行配置選擇的,其中MODE[1:0]是進行配置輸入還是輸出一般00為輸入 11為輸出。CNF[1:0]則配合MODE[1:0]進行具體的模式配置。

譬如GPIOA中的GPIO_Pin_0配置上拉輸入模式 CNF[1:0] 則為10 MODE[1:0] 則為00 GPIOA->CRL &= 0xfffffff0;GPIOA->CRL |= 8; 0xfffffff0先進行配置IO清零其余的保持不變,81000 相應的IO配置成上拉輸入模式 三、代碼解析

GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=8<<28;
首先我們從0x0FFFFFFF這句代碼中可以看出我們是進行GPIO_Pin_7配置,先將7引腳Io的控制位清零其余的位保持不變,8 ----->1000 為CNF[1:0] 為10 上拉MODE[1:0] 為00輸入則將引腳配置成上拉輸入模式 8 << 28 可以看成 1111 1111 1111 1111 1111 1111 1111 1000 左移28位則變成了1000 1111 1111 1111 1111 1111 1111 1111,可以看出就是GPIO_Pin_7引腳進行配置了上拉輸入模式。

同理

GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=3<<28;
首先從0X0FFFFFFF這句代碼我們是進行GPIO_Pin_7配置,先將7引腳Io控制位清零其余位保持不變,3------>0011為CNF[1:0] 為00推挽,MODE[1:0]為11輸出則將相應的引腳配置成推挽輸出,3<<28可以看出1111 1111 1111 1111 1111 1111 1111 0011 左移28位后變成了0011 1111 1111 1111 1111 1111 1111 1111,正好是將GPIO_Pin_7設置成了推挽輸出模式

上述內容為個人觀點若有誤,望大佬指正。

總結

以上是生活随笔為你收集整理的【浅析STM32之GPIO寄存器(CRL/CRH)配置 】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。