国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

歷史上的今天

今天是:2025年06月28日(星期六)

2021年06月28日 | STM32單片機(jī)GPIO端口使用

發(fā)布者:以泉換泉 來源: eefocus關(guān)鍵字:STM32  單片機(jī)  GPIO端口 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

簡介: 最近一段時間在學(xué)STM32,感覺都是在和寄存器打交道,首先先說下什么是寄存器。寄存器是中央處理器內(nèi)的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和地址。

STM32的每個IO口有7個寄存器控制(1個IO口應(yīng)該就是一組),分別是兩個32位的端口配置寄存器,CRL和CRH。兩個32位的數(shù)據(jù)寄存器IDR和ODR(這上面四個是重點(diǎn)),一個32位置位復(fù)位寄存器,一個16位復(fù)位寄存器,一個鎖存寄存器LCKR.

______________________________________________________________________________________________________________


端口配置寄存器


端口配置寄存器CRL和CRH有兩部分組成 CNFX和MODEX


通過設(shè)置這兩個來確定模式 (1)GPIO_Mode_AIN 模擬輸入


(2)GPIO_Mode_IN_FLOATING 浮空輸入


(3)GPIO_Mode_IPD 下拉輸入


(4)GPIO_Mode_IPU 上拉輸入


(5)GPIO_Mode_Out_OD 開漏輸出


(6)GPIO_Mode_Out_PP 推挽輸出


(7)GPIO_Mode_AF_OD 復(fù)用開漏輸出


(8)GPIO_Mode_AF_PP 復(fù)用推挽輸出


如果IO口是0-7的話用CRL寄存器,如果是8-15的話用CRH寄存器


使用說明: MODE 模式


00 輸入模式


01 輸出模式 10MHZ


10 輸出模式 2MHZ


11 輸出模式 50MHZ


CNF 所處模式 表達(dá)含義


00 輸入 模擬輸入模式


01 輸入 浮空輸入模式


10 輸入 上拉下拉輸入模式


11 輸入 保留


00 輸出 推挽輸出模式


01 輸出 開漏輸出模式


10 輸出 復(fù)用功能 推挽輸出模式


11 輸出 復(fù)用功能開漏輸出模式


使用方法:


首先是APB2總線上的外設(shè)始能寄存器,只要加外設(shè)就要將這個使能


RCC->APB2ENR |= 1<<幾位 根據(jù)表來說


然后開始配置


GPIOB->CRH &= 0XFFFFFFF0; 通過與將要寫數(shù)據(jù)的位進(jìn)行清空


GPIOB->CRH |= 0X03; 在要寫的為寫內(nèi)容


GPIOB->ODR = 1<<8; 在第幾位寫入數(shù)據(jù)


ODR是輸出數(shù)據(jù)寄存器


GPIO端口使用舉例


__________________________________________________________________________________________________________________


流水燈的.c文件


void LED_Init (void)


{


//兩個RCC是使能時鐘


RCC->APB2ENR |= 1<<3;


RCC->APB2ENR |= 1<<6;


GPIOB->CRL &= 0XFF0FFFFF;


GPIOB->CRL |= 0X00300000;


GPIOB->ODR = 1 << 5;


GPIOE->CRL &= 0XFF0FFFFF;


GPIOE->CRL|=0X00300000; //PE.5


GPIOE->ODR|=1<<5; //PE.5


}


.h文件


# define LED0 PBout (5)


# define LED1 PEout (5)


因為是輸出,所以用PXout (引腳號)


——————————————————————————————————————————————


按鍵的初始化


void KEY_Init (void)


{


RCC->APB2ENR |= 1<<2;


RCC->APB2ENR |= 1<<6;


GPIOA->CRL &= 0XFFFFFF0;


GPIOA->CRL |= 0X0000008;


// GPIOA->ODR |= 1<<1; GPIOE->CRL &= 0XFFF000FF;


GPIOE->CRL |= 0X00088800;


GPIOE->ODR |= 7<<2; //7<<2 從7的位置右移5位




}


注意.h文件


#define KEY0 PEin(4) //PE4


#define KEY1 PEin(3) //PE3


#define KEY2 PEin(2) //PE2


#define KEY3 PAin(0) //PA0 WK_UP


因為是輸入,所以用的是PXin (引腳號)


關(guān)鍵字:STM32  單片機(jī)  GPIO端口 引用地址:STM32單片機(jī)GPIO端口使用

上一篇:STM32的IO口如何配置
下一篇:STM32 ad雙通道dma模式說明

推薦閱讀

脈寬調(diào)制模式可以生成一個由TIMx_ARR寄存器的值確定頻率和TIMx_CCRx寄存器的值確定占空比的信號。脈寬調(diào)制模式可以生成一個由TIMx_ARR寄存器的值確定頻率和TIMx_CCRx寄存器的值確定占空比的信號??梢詫γ總€通道獨(dú)立選擇PWM模式,( OCx輸出一個PWM信號)在TIMx_CCMRx寄存器的OCxM位寫110(PWM模式1)或111(PWM模式2)。必須通過設(shè)置TIMx_CCMRx寄存器的O...
2019北京·埃森與切割展覽會(簡稱:埃森展)正隆重在上海新博國際展覽中心舉辦,作為一年一度最有影響力的焊接領(lǐng)域盛會,此次展會吸引了國內(nèi)外眾多焊接品牌與參觀者。在為期3天的埃森展,abb、發(fā)那科、安川、庫卡、配天、歡顏、錢江機(jī)器人等一眾國內(nèi)外知名的機(jī)器人本體和集成商薈集,紛紛展示出自己的拿手好戲,為汽車領(lǐng)域各個板塊提供著更優(yōu)質(zhì)的解決方...
這一節(jié)我們在TouchGFX可以創(chuàng)建多個界面,在組件的上面新建一個界面,同樣先鋪好背景。放置一個用于切換屏幕的按鈕取個名字,在添加顯示的文字設(shè)置互動,改變屏幕,切換到屏幕2 ,添加切換動畫為幻燈片,切換方向東(上北下南,左西右東),這個動畫也可以不加,如果你的屏幕比較大,顯示出來的效果不是很好,顯示有卡頓。當(dāng)然你也可以超頻來提高運(yùn)行速度...
據(jù)國外媒體報道,蘋果公司在iPhone問世10周年的2017年特別推出的 iPhone X,不僅引入了劉海屏、全面屏、面部識別等新的設(shè)計理念和技術(shù),還在 iPhone 產(chǎn)品線中首次采用了 OLED 屏幕。在 iPhone X 之后,高端智能手機(jī)紛紛放棄了 LCD 屏幕,轉(zhuǎn)向了 OLED 屏幕,但出人意料的是,在 iPhone X 推出3年多之后,采用 OLED 屏幕的智能手機(jī),在出貨...

史海拾趣

問答坊 | AI 解惑

最早什么時侯可以從SD卡拷貝文件到windows目錄?

需要在開機(jī)進(jìn)入explorer之前把SD卡的幾個文件拷到windows目錄下。 我不懂驅(qū)動,于是瞎試一番。 在sdmemory的sdmemmain.cpp的DllEntry增加拷貝文件函數(shù): 1        extern \"C\" BOOL WINAPI DllEntry(HINSTANCE hInstance, ...…

查看全部問答∨

請問,OAL和BOOTLOADER有什么區(qū)別?

書上說,“BL用來初始化硬件資源,下載系統(tǒng)鏡像,而OAL是系統(tǒng)內(nèi)核的一部分”?…

查看全部問答∨

求救!evb下我的RDA連接出錯

高手幫幫忙啊!我用RDA執(zhí)行PULL時出現(xiàn)錯誤提示:An error was encountered wile running this program. 我的代碼: Public Const strInternetURL = \"http://localhost/sscesa20.dll\" Public Const strRemoteConnect = \"Provider=SQLOLEDB.1;P ...…

查看全部問答∨

關(guān)于FPGA內(nèi)部各邏輯塊之間的延時測量

請問如何測量Spartan-3芯片內(nèi)部各邏輯塊之間的延時時間?…

查看全部問答∨

尋STM32FUSB接口電路

                                 壇子里哪位大仙兒用過STM32F通過USB接口連接計算機(jī)USB的成熟的電路圖給俺一份借鑒下,或者萬利的電路圖也行,等待 ...…

查看全部問答∨

蓄電池極性接反后引起的電路故障

故障現(xiàn)象:一輛五十鈴汽車在閉合點(diǎn)火開關(guān)后,儀表顯示正常,但充電指示燈不亮,且將點(diǎn)火開關(guān)置于Ⅱ檔(起動檔)時起動機(jī)無反應(yīng)。 故障排除:檢查充電指示燈,充電指示燈顯示正常。因為該車充電指示燈受組合繼電器控制,所以又拆下組合繼電器 ...…

查看全部問答∨

濾波器問題

這是用LTC1068做四階橢圓濾波器的電路圖,可是不明白后面運(yùn)放芯片的作用,特請高手支招。下面的圖是07年電子設(shè)計大賽的電路圖,望高手支招 [ 本帖最后由 開竅的木偶 于 2011-8-8 10:28 編輯 ]…

查看全部問答∨

430也能玩嵌入式:Contiki內(nèi)核在IAR+MSP430下移植(二)

二、編譯調(diào)試2.1 找不到文件解決工程make之后,有時會提示找不到源文件,例如:\"Fatal Error[Pe1696]: cannot open source file \"contiki-conf.h\" ,錯誤提示如下:圖2 找不到源文件錯誤 解決方法:(1) 檢查工程目錄是否包容該文件在代碼編輯區(qū) ...…

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved