1、介紹
STM32F10x芯片的GPIO/AFIO配置主要包括以下幾方面知識:在時鐘控制模塊中配置好相應(yīng)總線時鐘,并在總線上使能對應(yīng)的GPIO口(AFIO口,需要的話)時鐘后:根據(jù)需求配置相應(yīng)GPIO端口為對應(yīng)的輸入/輸出模式,按需求更改/讀取端口的數(shù)據(jù);端口功能重映射;若用外部中斷,則將中斷線與對應(yīng)引腳鏈接起來。
STM32F10x芯片的每個GPIO端口都有7個相關(guān)的寄存器:2個32位配置寄存器(GPIOx_CRL,GPIOx_CRH),兩個32位數(shù)據(jù)寄存器(GPIOx_IDR,GPIOx_ODR),一個32位置位/復位寄存器(GPIOx_BSRR),一個16位復位寄存器(GPIOx_BRR)和一個32位鎖定寄存器(GPIOx_LCKR)。每個I/O端口都可以設(shè)置成如下模式:
輸入浮空 :GPIO_Mode_IN_FLOATING
輸入上拉 :GPIO_Mode_IPU
輸入下拉 :GPIO_Mode_IPD
模擬輸入 :GPIO_Mode_AIN
開漏輸出 :GPIO_Mode_Out_OD
推免式輸出 :GPIO_Mode_Out_PP
推免式復用功能 :GPIO_Mode_AF_PP
開漏復用功能 :GPIO_Mode_AF_OD
2、GPIO寄存器描述
端口配置低寄存器(GPIOx_CRL)(x=A…E)
端口配置高寄存器(GPIOx_CRH)(x=A…E)
端口輸入數(shù)據(jù)寄存器(GPIOx_IDR)(x=A…E)
端口輸出數(shù)據(jù)寄存器(GPIOx_ODR)(x=A…E)
端口位設(shè)置/清除寄存器(GPIOx_BSRR)(x=A…E)
端口位清除寄存器(GPIOx_BRR)(x=A…E)
端口配置鎖定寄存器(GPIOx_LCKR)(x=A…E)
2、AFIO寄存器描述
事件控制寄存器(AFIO_EVCR):控制內(nèi)部時間輸出到相應(yīng)引腳
復用重映射和調(diào)試I/O配置寄存器(AFIO_MAPR)
外部中斷配置寄存器(AFIO_EXTICRx)(x=1…4):設(shè)置端口為中斷線(將端口與中端線連接)
注意:對寄存器AFIO_EVCR、AFIO_MAPR、AFIO_EXTICRX進行讀寫操作前,應(yīng)當首先打開AFIO的時鐘。
3、GPIO操作流程
首先定義GPIO_InitTypeDef類型變量;
然后調(diào)用RCC_APB2PeriphClockCmd()函數(shù)使能相應(yīng)的GPIOx端口(所有GPIO端口都掛載到APB2總線上的)時鐘。注意使能GPIOx端口時鐘的函數(shù)必須在GPIO端口配置函數(shù)之前調(diào)用,否則GPIO端口會初始化不成功:;
調(diào)用GPIO_DeInit()初始化要使用的GPIOx端口對應(yīng)寄存器為默認值;
調(diào)用GPIO_StructInit()函數(shù)初始化前面定義的GPIO_InitTypeDef類型變量到缺省值;
按需求初始化GPIO_InitTypeDef類型變量,然后調(diào)用GPIO_Init()函數(shù)實現(xiàn)初始化;
然后就可以對相應(yīng)的端口進行操作了:讀/寫,或配置為復用功能(相應(yīng)函數(shù)查看固件庫)。
注意:
1、系統(tǒng)復位和剛復位后,復用功能未開啟,I/O端口被配置成浮空輸入模式(CNFx[1:0]=01b,MODEx[1:0]=00b)。復位后,JTAG引腳被置于輸入上拉或下拉模式:
PA15:JTDI置于上拉模式;
PA14:JTCK置于下拉模式;
PA13:JTMS置于上拉模式;
PB4:JNTRST置于上拉模式;
因此要使用JTAG調(diào)試接口作為通用GPIO口使用,則必須屏蔽JTAG復用功能。具體實現(xiàn)為先調(diào)用RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE)使能AFIO時鐘,然后調(diào)用GPIO_PinRemapConfig(GPIO_Remap_SWJ_XXXX,ENABLE)關(guān)閉JTAG的調(diào)試復用功能;
2、當把端口配置成復用輸出功能時,則引腳和輸出寄存器斷開,并和片上外設(shè)的輸出信號連接;但如果沒有激活對應(yīng)外設(shè),則其輸出將不確定;
3、當使用外部中斷或事件事,首先按照上面幾步配置GPIO端口(輸入),然后調(diào)用函數(shù):GPIO_EXTILineConfig()將引腳與對應(yīng)的中斷線鏈接起來,然后在配置NVIC使能對應(yīng)的中斷通道,最后編寫中斷處理函數(shù)。
4、GPIO操作例子
例子1:
u16 Val = 1;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_Configuration();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
GPIO_Write(GPIOB,0xffff);
while(1)
{
GPIO_Write(GPIOB, ~Val);
Delay(0x2FFFFF);
if(Val == 0x8000) Val = 1;
else Val<<=1;
}
上一篇:全新STM32WB雙核無線MCU問市,出色RF性能,延長電池續(xù)航
下一篇:STM32學習筆記——TFT2.4彩屏顯示圖片
推薦閱讀
史海拾趣
近年來,隨著全球?qū)Νh(huán)保和節(jié)能的日益重視,ERG積極響應(yīng)綠色發(fā)展的號召,開始研發(fā)更加高效節(jié)能的電源產(chǎn)品和LED照明解決方案。他們通過優(yōu)化電路設(shè)計、采用新型材料和改進生產(chǎn)工藝,成功降低了產(chǎn)品的能耗和廢棄物產(chǎn)生。這些環(huán)保舉措不僅提升了公司的社會形象,還為其贏得了更多環(huán)保意識強的客戶的青睞。同時,ERG也積極參與各種環(huán)保公益活動,為推動行業(yè)的綠色發(fā)展做出了積極貢獻。
以上五個故事,客觀地描述了ERG在電子行業(yè)中的發(fā)展歷程和主要成就。從初創(chuàng)時期的艱苦奮斗,到不斷拓展業(yè)務(wù)范圍、加強技術(shù)研發(fā)、與科研機構(gòu)合作以及積極響應(yīng)環(huán)保號召,ERG始終保持著創(chuàng)新精神和進取心,為電子行業(yè)的發(fā)展做出了重要貢獻。
Anvo-Systems在發(fā)展過程中始終注重企業(yè)文化建設(shè)和社會責任履行。公司倡導創(chuàng)新、協(xié)作、誠信的企業(yè)精神,為員工創(chuàng)造了一個積極向上的工作環(huán)境。同時,Anvo-Systems還積極參與社會公益活動,關(guān)注環(huán)保和可持續(xù)發(fā)展等問題。通過這些舉措,Anvo-Systems不僅提升了企業(yè)的社會形象,也為社會的和諧發(fā)展做出了積極貢獻。
請注意,以上故事純屬虛構(gòu),不代表現(xiàn)實中任何公司或行業(yè)的真實情況。在實際應(yīng)用中,應(yīng)根據(jù)具體公司的歷史和發(fā)展情況進行調(diào)整和完善。
Anvo-Systems在發(fā)展過程中始終注重企業(yè)文化建設(shè)和社會責任履行。公司倡導創(chuàng)新、協(xié)作、誠信的企業(yè)精神,為員工創(chuàng)造了一個積極向上的工作環(huán)境。同時,Anvo-Systems還積極參與社會公益活動,關(guān)注環(huán)保和可持續(xù)發(fā)展等問題。通過這些舉措,Anvo-Systems不僅提升了企業(yè)的社會形象,也為社會的和諧發(fā)展做出了積極貢獻。
請注意,以上故事純屬虛構(gòu),不代表現(xiàn)實中任何公司或行業(yè)的真實情況。在實際應(yīng)用中,應(yīng)根據(jù)具體公司的歷史和發(fā)展情況進行調(diào)整和完善。
隨著全球化進程的加速推進,ABECO開始實施全球化戰(zhàn)略。公司積極開拓國際市場,參加各類國際展會和論壇,與全球客戶建立聯(lián)系。同時,公司還加強與國際同行的交流與合作,引進先進的技術(shù)和管理經(jīng)驗。通過不斷的努力,ABECO逐漸在全球電子行業(yè)中樹立起了自己的品牌形象,成為了一家具有影響力的跨國公司。
請注意,上述故事是基于已知信息進行的虛構(gòu)創(chuàng)作,并不代表ABECO公司的真實發(fā)展歷程。如果您需要更詳細和準確的信息,建議直接聯(lián)系A(chǔ)BECO公司或查閱相關(guān)文獻資料。
隨著技術(shù)的不斷進步,F(xiàn)araday Electronics Inc意識到單一的產(chǎn)品線已無法滿足市場的多樣化需求。于是,公司開始積極拓展市場布局,將產(chǎn)品線拓展至智能家居、汽車電子等領(lǐng)域。通過不斷的技術(shù)創(chuàng)新和市場拓展,公司逐漸在多個領(lǐng)域取得了領(lǐng)先地位,成為了電子行業(yè)的佼佼者。
在快速發(fā)展的過程中,F(xiàn)ascomp始終注重企業(yè)文化建設(shè)和人才培養(yǎng)。公司倡導“創(chuàng)新、協(xié)作、務(wù)實、進取”的價值觀,鼓勵員工積極創(chuàng)新、勇于挑戰(zhàn)。同時,公司還注重人才培養(yǎng)和引進,建立了一套完善的人才培養(yǎng)和激勵機制。這些舉措為公司的發(fā)展提供了堅實的人才保障。
有一段連續(xù)的模擬信號從AD輸入,我用單片機采樣256個數(shù)據(jù)做FFT變換, 有幾個問題不明白請執(zhí)教: 1。 假如這256個數(shù)據(jù)做完FFT,是不是又要重新采集新的256個數(shù)據(jù)才能做FFT, 還是只要再采集一個數(shù)據(jù),然后跟前面的255個數(shù)據(jù)組成一段數(shù)據(jù)來 ...… 查看全部問答∨ |
51單片機 Keil C 延時程序的簡單研究 (晶振12MHz,一個機器周期1us.) void delay(void) { unsigned char i,j,k; for(i=15;i>0;i--) for(j=202;j>0;j--) for(k=81;k>0;k--); } 以上就是利用C51語言編寫的一個延時函數(shù),下面這段代碼則 ...… 查看全部問答∨ |
我是用的1602lcd液晶顯示器,想用mega16單片機的porta端口輸出,不知道該怎樣設(shè)置, DB4~DB9 -------PA4~PA7 RS -------PA3 EN -------PA2 請高手幫助。… 查看全部問答∨ |
我的三星DVD刻錄光驅(qū) 最近拷貝和刻錄的速度都變慢了 拷貝光盤里的文件cpu就100% 刻錄文件的時候4個G的文件以前10分鐘就刻完了 現(xiàn)在要刻一個多小時 系統(tǒng)沒有病毒 磁盤空間有人足夠大 重做了系統(tǒng)還是不行 時什么原因啊… 查看全部問答∨ |
RTC備份數(shù)據(jù)區(qū)與ADC電源關(guān)系??? 最近在使用STM32F103RB時,出現(xiàn)了斷電后再上電時備份數(shù)據(jù)區(qū)數(shù)據(jù)丟失的現(xiàn)象,不知道是什么原因,最初在設(shè)計的時候芯 ...… 查看全部問答∨ |
設(shè)計資源 培訓 開發(fā)板 精華推薦
- 面壁智能端側(cè)大模型首日上線,英特爾工程師聯(lián)合優(yōu)化實現(xiàn)2.2倍推理效率躍升
- 瞄準車規(guī)級碳化硅,理想發(fā)表重要成果
- 車規(guī)級MCU國內(nèi)替代提速
- 博世新獲國內(nèi)頭部車企座艙域控項目定點
- 首款測量電動汽車電機溫度的傳感器問世,提升對磁鐵的保護以減少稀土的使用
- Arm開發(fā)出計算子系統(tǒng) 以加速汽車設(shè)計的下一代AI芯片的開發(fā)
- 福特汽車申請新專利 或?qū)崿F(xiàn)車庫定向音樂播放
- 泊車場景一定需要超聲波嗎?
- 同星新一代TC1055 Pro開啟車載網(wǎng)絡(luò)測試新時代
- 福特汽車申請新專利 或?qū)⑴鋫浒踩ㄗ粉櫹到y(tǒng)
- 看是德科技利用校準降低儀器測量不確定度、提高測試精度 直播享好禮!
- 直播已結(jié)束|安世新一代高效的氮化鎵(GaN)電源設(shè)計方案
- 更好的供電方式:使用更小、更輕的電源模塊加速車輛電氣化
- 是德科技(Keysight)有獎?wù)魑模鹿P贏示波器啦!
- 有獎問答 英飛凌一站式BMS解決方案
- 恩智浦LPC1500開發(fā)體驗有獎?wù)骷?/a>
- NXP微控制器電路板,針對USB Type C接口設(shè)計,評測創(chuàng)意有獎?wù)骷瑫裥牡酶卸嘀睾枚Y!
- 安森美有獎直播|適用于光儲充的SiC及IGBT隔離柵極驅(qū)動器方案
- ADI電磁流量計解決方案
- 下載有禮|ADI 最新《模擬對話》合訂本
- 高性價比的MSP430應(yīng)用系統(tǒng)結(jié)構(gòu)設(shè)計
- 一種類R—F 轉(zhuǎn)換頻率的測量法
- Vicor 發(fā)布針對汽車高性能計算及機器人在疫情下的發(fā)展預測
- 西門子多項工具獲得臺積電最新工藝認證
- BlackBerry攜手伯泰克為新款SUV UNI-K打造新型數(shù)字液晶儀表盤
- 人工智能可用于戰(zhàn)爭 俄蘇-25將升級AI轟炸能力
- 簡單方便成本低,給熱水器加裝遠程wifi控制功能
- AI修復王祖賢、林青霞舊照:懷念那個沒有PS的年代
- 氣象學家警告!5G通信網(wǎng)絡(luò)或?qū)⒏蓴_天氣預報
- Drivent獲準在華盛頓路測自動駕駛汽車