www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀] stm32的引腳有兩種用途:GPIO(generalpurposeio)和AFIO(alternatefunctionio)對于一些引腳(視芯片而定),這兩種用途都沒有,如在64腳產(chǎn)品中,OSC_IN/OSC_OUT與作為GPIO端口的PD0/PD1共用一樣的引

 

stm32的引腳有兩種用途:GPIO(generalpurposeio)和AFIO(alternatefunctionio)

對于一些引腳(視芯片而定),這兩種用途都沒有,如在64腳產(chǎn)品中,OSC_IN/OSC_OUT與作為GPIO端口的PD0/PD1共用一樣的引腳,而在100、144引腳產(chǎn)品中,這四個功能各有引腳與之對應,不互相沖突,所以OSC_IN/OSC_OUT既不作GPIO也不作AFIO,當然,這樣的引腳不是討論重點。

1、引腳的配置

不論是作GPIO還是做AFIO,都要對引腳進行配置。在固件庫函數(shù)中,用GPIO_Init()函數(shù)對引腳進行配置,并不是說這個函數(shù)帶了“GPIO”字樣就是要當做GPIO來用,而是把它納入GPIO的范疇來討論。

所謂配置,就是引腳上的片上資源連接方式,如上拉電阻、密特觸發(fā)等等。關(guān)于配置的問題,請見http://www.cnblogs.com/king-77024128/articles/1999395.html?1?3。理解了配置,也就能明白配置與模式的區(qū)別。

特別得,在下文中將會專門討論一下輸出配置中的推挽與開漏。

2、復用功能

復用功能有兩種:沒有重映像、重映像(包括部分重映像、完全重映像),使用引腳用作AFIO功能,同樣需要對其進行配置。

這三句話來自參考手冊,但我對第一句和注意有疑問,第三節(jié)講。如果把端口配置成復用輸出功能,則引腳和輸出寄存器斷開,并和片上外設的輸出信號連接。輸入配置則與GPIO沒有區(qū)別。

為什么輸出模式有專門的復用模式而輸入則沒有呢。因為輸出是由芯片內(nèi)部電路驅(qū)動的,必須選擇這個驅(qū)動來自哪一個外設,是GPIO還是復用此管腳的其他外設,也就是選擇該管腳在內(nèi)部是與哪個外設相連的,不說明這個就會發(fā)生信號的錯亂。而輸入則不同了,輸入信號是由芯片外的信號驅(qū)動的,雖然該信號進入芯片內(nèi)部后可能有不同的去向,但不需要對此進行配置,因為不會發(fā)生信號的沖突,最壞的情況就是多驅(qū)動了個寄存器而已。事實上,當將引腳作為GPIO輸入時,相應的AFIO外設是處在關(guān)閉的狀態(tài),并不會耗電;當引腳作為AFIO的輸入時,可能GPIO是讀不進來的,這是我猜的,沒有驗證,能不能讀進來無所謂的,不必糾結(jié)于此。

若選擇了復用,則默認是沒有重映像的,可以直接使用外設,不需要再軟件做設置。

但若要重映射,則需要簡單設置一下,

先要配置重映射后對應的管腳,可參看參考手冊或數(shù)據(jù)手冊引腳定義章節(jié),開AFIO時鐘,使能重映射。例如重映射USART1,全部代碼如下:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

/*對寄存器AFIO_EVCR,AFIO_MAPR和AFIO_EXTICRX進行讀寫操作前,即重映射和選擇外部中斷線前,應當首先打開AFIO的時鐘*/

 

/*ConfigureUSART1Tx(PA.09)asalternatefunctionpush-pull*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOB,&GPIO_InitStructure);

 

/*ConfigureUSART1Rx(PA.10)asinputfloating*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOB,&GPIO_InitStructure);

GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

這就完成了IO口的配置和重映射,下邊再配置相關(guān)的外設(USART1)就可以使用了。

外部中斷線也是可以映射的,并且需要開AFIO時鐘,不用GPIO_PinRemap函數(shù),用GPIO_EXTILineConfig重映射引腳到中斷線。其實與其說是映射,不如說是選擇,選擇引腳連接到外部中斷線。

重映射不是任意的,只能重映射到指定的管腳。

3、關(guān)于第二節(jié)講到那個疑問,為甚么不能配置成模擬輸入?模擬輸入與浮空什么區(qū)別?

答案是可以配置成模擬輸入,官方3.5版固件庫例子和alientek例程都是將ADC輸入引腳配置成GPIO_Mode_AIN

那么配置成浮空行么,還能ADC么?

//例程

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOC, &GPIO_InitStructure);

//修改

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOC, &GPIO_InitStructure);

實驗證明,這兩種配置都能實現(xiàn)ADC。那么USART的Tx應配置成GPIO_Mode_IN_FLOATING,如果配置成GPIO_Mode_AIN,還能接受數(shù)據(jù)么?金牛板實驗結(jié)果是不能,ST不我欺也??傊?/p>

可以將引腳配置成模擬輸入,使用相應的復用功能;

浮空與模擬這兩種配置是不同的。

關(guān)于第二節(jié)里那個“注意“,我也不知道是什么意思。我猜測是這樣的:打開某外設,這個外設將某引腳當做輸入,我們偏偏把這個引腳配置為GPIO輸出,這樣可以操作GPIO來”欺騙“這個外設,這種用法應該是很微妙的。

4、推挽與開漏

不僅僅stm32有這種配置,實際上,這兩種已經(jīng)廣泛應用在很多場合。

推挽,又叫做推拉,是個很形象的名字,一般是指兩個三極管(MOS管)分別受兩互補信號(或者一個信號,但是用互補對管)的控制,總是在一個三極管導通的時候另一個截止,這樣的電路被稱為推挽式(互補式):

這種電路在放大中通常被用作輸出級,在STM32中,推挽配置就是這種,如圖:

在相應位置1時,P-MOS導,通N-MOS截止,輸出電壓為VDD;在相應位置0時,N-MOS導通,P-MOS截止,輸出電壓為VSS,這就是所謂的推挽。是比較簡單的。

而所謂的開漏(對三極管而言是開集,一樣的原理),則要巧妙一些。所謂開漏電路概念中提到的“漏”就是指MOS FET的漏極。同理,開集電路中的“集”就是指三極管的集電極。開漏電路就是指以MOS FET的漏極為輸出的電路。一般的用法是會在漏極外部的電路添加上拉電阻。完整的開漏電路應該由開漏器件和開漏上拉電阻組成。

對于stm32,開漏就是失能了P-MOS,這樣,當相應位置1時,引腳實際上是處在了浮空的狀態(tài),而通過外接的上拉電阻,將其拉高。

這么做有如下的好處:

1、可以將多個開漏輸出的引腳,連接到一條線上。形成“與邏輯”關(guān)系。當多個引腳任意一個變低后,開漏線上的邏輯就為0了。這也是I2C,SMBus等總線判斷總線占用狀態(tài)的原理。在我的文章“stm32模擬iic——引腳配置、代碼”中,還會提到這個問題。
2、可以利用改變上拉電源的電壓,改變傳輸電平。這樣我們就可以用低電平邏輯控制輸出高電平邏輯了。想想當初認為stm32輸出3.3v電壓帶不動IRF540,就直接斷定要重新選型,是錯誤的想法,只要將推挽輸出變?yōu)殚_漏,再加上上拉到5v的電阻,就能解決這個問題。

順便一提,上拉電阻的阻值決定了邏輯電平轉(zhuǎn)換的沿的速度。阻值越大,速度越低功耗越小。反之亦然。

 

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉