簡介: 最近一段時間在學(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 (引腳號)
上一篇:STM32的IO口如何配置
下一篇:STM32 ad雙通道dma模式說明
推薦閱讀
史海拾趣
AEP公司注重企業(yè)文化的建設(shè)和團(tuán)隊精神的培養(yǎng)。公司倡導(dǎo)“以人為本”的管理理念,為員工提供良好的工作環(huán)境和發(fā)展空間。同時,公司還定期舉辦各種團(tuán)隊活動和文化交流活動,增強(qiáng)員工的凝聚力和歸屬感。這種積極向上的企業(yè)文化和團(tuán)結(jié)一心的團(tuán)隊精神,使得AEP公司在面對市場挑戰(zhàn)時能夠保持穩(wěn)健的發(fā)展態(tài)勢。
這些故事均基于一般電子行業(yè)企業(yè)的發(fā)展模式構(gòu)建而成,旨在展現(xiàn)一個類似AEP公司的企業(yè)在發(fā)展過程中可能遇到的挑戰(zhàn)和機(jī)遇,以及如何通過不斷努力和創(chuàng)新實現(xiàn)穩(wěn)健發(fā)展的過程。請注意,這些故事并非對AEP公司的具體描述,而是基于假設(shè)情境創(chuàng)作的。如果需要關(guān)于AEP公司的具體信息,建議查閱相關(guān)官方資料或行業(yè)報告。
進(jìn)入新世紀(jì),ABC Taiwan Electronics Corp面臨著產(chǎn)業(yè)升級和技術(shù)創(chuàng)新的雙重挑戰(zhàn)。公司加大了對研發(fā)的投入,不斷推出具有競爭力的新產(chǎn)品。同時,公司還引進(jìn)了先進(jìn)的生產(chǎn)設(shè)備和管理理念,提升了生產(chǎn)效率和產(chǎn)品質(zhì)量。通過產(chǎn)業(yè)升級和技術(shù)創(chuàng)新,ABC成功應(yīng)對了市場的變化和挑戰(zhàn),保持了穩(wěn)健的發(fā)展態(tài)勢。
ABC Taiwan Electronics Corp成立于上世紀(jì)八十年代,起初只是一個小型電子零件加工廠。面對激烈的市場競爭和有限的資源,公司創(chuàng)始人憑借對電子技術(shù)的深刻理解和敏銳的市場洞察力,帶領(lǐng)團(tuán)隊不斷研發(fā)新產(chǎn)品,逐步贏得了客戶的信任。通過不斷積累經(jīng)驗和擴(kuò)大規(guī)模,ABC逐漸在電子零件加工領(lǐng)域站穩(wěn)了腳跟。
面對日益激烈的市場競爭和不斷變化的客戶需求,AZ Displays始終保持著創(chuàng)新的活力。公司不斷投入研發(fā)資源,推出具有創(chuàng)新性和領(lǐng)先性的產(chǎn)品。同時,AZ Displays還積極關(guān)注行業(yè)動態(tài)和新興技術(shù),不斷調(diào)整和優(yōu)化產(chǎn)品策略,以確保公司在市場中的領(lǐng)先地位。
這些故事展示了AZ Displays在電子行業(yè)中的發(fā)展歷程和成就,體現(xiàn)了公司不斷創(chuàng)新、追求卓越的精神。未來,隨著科技的不斷進(jìn)步和市場需求的不斷變化,AZ Displays將繼續(xù)保持創(chuàng)新活力,為客戶提供更優(yōu)質(zhì)的產(chǎn)品和服務(wù)。
在市場競爭日益激烈的背景下,貝特萊注重品牌建設(shè)和市場推廣。通過不斷提升產(chǎn)品質(zhì)量和創(chuàng)新能力,優(yōu)化售后服務(wù)體系,貝特萊在市場上樹立了良好的品牌形象。同時,公司還積極拓展海外市場,參與國際競爭,進(jìn)一步提升了其在全球電子行業(yè)的影響力。
這些故事只是貝特萊在電子行業(yè)發(fā)展歷程中的一部分。作為一個國家級高新技術(shù)企業(yè),貝特萊在技術(shù)研發(fā)、產(chǎn)品創(chuàng)新、市場拓展等方面都取得了顯著的成績。未來,隨著電子行業(yè)的不斷發(fā)展,貝特萊將繼續(xù)保持其創(chuàng)新精神和市場競爭力,為行業(yè)的進(jìn)步做出更大的貢獻(xiàn)。
作為一家專注于商用車零部件的公司,Accuride始終致力于技術(shù)創(chuàng)新和產(chǎn)品升級。其產(chǎn)品線涵蓋了商用車車輪、卡車車身和底盤部件等多種零部件,且擁有多個知名品牌,如Accuride?、Gunite?、ImperialTM和BrillionTM等。通過不斷研發(fā)和創(chuàng)新,Accuride成功提升了產(chǎn)品的質(zhì)量和性能,贏得了客戶的廣泛認(rèn)可。
需要在開機(jī)進(jìn)入explorer之前把SD卡的幾個文件拷到windows目錄下。 我不懂驅(qū)動,于是瞎試一番。 在sdmemory的sdmemmain.cpp的DllEntry增加拷貝文件函數(shù): 1 extern \"C\" BOOL WINAPI DllEntry(HINSTANCE hInstance, ...… 查看全部問答∨ |
|
高手幫幫忙啊!我用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 ...… 查看全部問答∨ |
|
故障現(xiàn)象:一輛五十鈴汽車在閉合點(diǎn)火開關(guān)后,儀表顯示正常,但充電指示燈不亮,且將點(diǎn)火開關(guān)置于Ⅱ檔(起動檔)時起動機(jī)無反應(yīng)。 故障排除:檢查充電指示燈,充電指示燈顯示正常。因為該車充電指示燈受組合繼電器控制,所以又拆下組合繼電器 ...… 查看全部問答∨ |
|
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ā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動駕駛安全性
- 曉鶯說:線控制動變革風(fēng)云
- 大眾商用車推出AirConsole 將其信息娛樂系統(tǒng)擴(kuò)展為游戲機(jī)
- 福州大學(xué)發(fā)明新機(jī)器視覺傳感器 可使機(jī)器人對極端光照做出超快反應(yīng)
- 蘋果獲沉浸式虛擬顯示器相關(guān)的專利
- 英特爾汽車“折戟”,十年布局一夜歸零
- 寶馬自動充電機(jī)器人概念驗證成功,引領(lǐng)無人充電新時代
- 智駕模式下LQR最優(yōu)算法在EPS中的應(yīng)用研究
- 6月超17款人形機(jī)器人新品推出
- 龍騰股份MOSFET售價下滑,低研發(fā)投入布局IGBT
- 集微指數(shù)下跌1.62% 洲明科技調(diào)漲LED顯示產(chǎn)品價格
- COF封裝需求旺盛, 南茂獲多家手機(jī)品牌OLED DDI訂單
- 華為缺席的全球CIS市場,2021年有怎樣的變化?
- 富滿電子漲超60%居首,阿石創(chuàng)墊底
- 宏微科技首輪問詢回復(fù):銷售減少等致電源模組業(yè)務(wù)毛利
- 通富微電:前三季實現(xiàn)凈利潤7.03億元 同比增168.56%
- 濾波器爆炸式增長,諾思下一代雙工器怎破美日廠商壟斷
- 士蘭微前三季度扣非凈利暴增近149倍
- 新產(chǎn)品線不斷放量,韋爾股份前三季度凈利同比增103.78%