stm32韌體庫gpio的複用為什麼只有輸出複用沒有輸入

2021-04-19 06:16:52 字數 2262 閱讀 4637

1樓:沙恩沉沒

io口對應的copy

外設輸入都是通過讀取

baiio讀暫存器來獲得資訊的,不需要像輸du出一樣得設定成zhi複用,以dao確保其它引腳對輸出訊號無影響,所以說輸入不需要複用。但有一個特殊的就是adc,所以stm32的輸入模式有ain mode,在ain mode 下施密特觸發器是禁止的,輸入暫存器永遠為0,廣義上也可以把ain稱為輸入複用(只對adc有效的複用)

2樓:匿名使用者

輸入就兩種:數字輸入方式或者模擬輸入方式。數字輸入方式可以是專懸空、上拉或者下拉,用

屬於i2c、spi、串列埠等數字外設的輸入使用。模擬輸入方式主要是懸空,一般就用於adc或者模擬比較器。

所以你說的「複用輸入」是什麼意思?

3樓:匿名使用者

不知道你說的bai複用是什麼意du

思,如果zhi是第二功能的話,dao那麼不是不存在輸內出和輸入,因為特容

定的功能管腳就決定了肯定是輸入或者輸出,而沒有必要再寫一次了。

或者你表達的是一根「輸出」線可以接到多個其他的輸入腳上,反之則不行。那麼這個原因很簡單,輸出可以分開供給別的輸入沒的說。反過來之所以不行,通俗的說是容易燒燬,比如兩個輸入a和b,a輸入高,b輸入低,這兩個連線起來給c,那麼問題出現了。

如果a、b的內阻很小,那麼大的電流將通過a->b,那不就壞了嗎?

4樓:匿名使用者

輸入沒有複用這種說法

為什麼stm32中spi的miso引腳設定成複用推輓輸出

5樓:大司命

讀取其他arm晶片(如nxp)一般很容易看出晶片的設定是否正確。不過對於stm32就容易讓人迷惑了。例如,我們在使用spi匯流排進行通訊時,可以這樣設定:

gpio_initstructure.gpio_pin = gpio_pin_4 | gpio_pin_5 |

gpio_pin_6 | gpio_pin_7;

gpio_initstructure.gpio_speed =

gpio_speed_50mhz;

gpio_initstructure.gpio_mode =

gpio_mode_af_pp;

// 複用的推輓輸出

答題是肯定的,對於stm32的這一類管腳來說(如usart_rx)即可以設定成為輸入模式,也可以設定成為複用的推輓輸出。其工作都是正常的,不過建議大家還是設定成為輸入埠的好,容易理解。

具體產生這一問題的原因是:從功能上來說,miso應該配置為輸入模式才對,但為什麼也可以配置為gpio_mode_af_pp?請看下面的gpio複用功能配置框圖。

當一個gpio埠配置為gpio_mode_af_pp是,這個埠的內部結構框圖如下:圖中可以看到,片上外設的複用功能輸出訊號會連線到輸出控制電路,然後在埠上產生輸出訊號。但是在晶片內部,miso是spi模組的輸入引腳,而不是輸出引腳,也就是說圖中的"複用功能輸出訊號"根本不存在,因此"輸出控制電路"不能對外產生輸出訊號。

6樓:我不是阿

因為stm32的spi模組本身還有個單線雙向模式,可以通過暫存器設定miso的資料既可以輸入也可以輸出,如果miso僅設為輸入模式在miso腳在單線雙向模式下將無法提供輸出資料功能!

stm32中gpio埠的複用功能怎麼理解?怎麼才算複用?具體怎麼實現複用的呢? 一定採納。

7樓:通才玩家

複用i/o口就是一段程式中你重複使用了統一i/o口,但是功能不一樣~

例如你使用adc轉換時,可以複用pb0、pb 1作轉換通道ch0、ch1,和輸出~

stm32如何實現引腳複用

8樓:喲啦擦啦啦啦

使用複用功能(1.使能gpio口時鐘

2.使能複用功能的時鐘 3.配置相應的模式)

9樓:匿名使用者

先使能gpio埠時鐘;然後使能要服用的外設時鐘,比如要把pa9/pa10複用為串列埠,此時就需要使能串列埠時鐘;最後配置埠模式。

10樓:匿名使用者

首先這個管腳得有複用的能力(底層電路實現),之後,就可以配置成不同的模式了

關於stm32的gpio複用功能

11樓:匿名使用者

stm32 程式設計參考手冊---第八章是講複用功能的,但是我覺得你好像問的是重對映功能吧。都在程式設計參考手冊裡面

如何設定stm32中pwm的佔空比為

首先,確定 baitimx的時鐘,除非apb1的時鐘分du頻數設定zhi為1,否則通用定時器timx的時鐘是apb1時鐘的2倍,這時dao的timx時鐘為版72mhz,用這個timx時鐘72mhz除以 psc 1 得到定時器每隔多少秒漲一次,這裡給psc賦7199,計算得定時器每隔0.0001秒漲一...

STM32中SPI的通訊速率如何設定

如果用的韌體庫,那就是更改spi initstructure.spi baudrateprescaler引數,賦值在stm32f10x spi.h中有定義,是apb2或者apb1匯流排頻率的1 2 1 256.stm32 spi通訊設定 確實是只有資料傳輸的時候才有時鐘輸出,對於你的問題 1.確定s...

stm32的pwm 頻率 佔空比各由什麼控制要想產生特定頻

由暫存器的值和暫存器最大值的比值決定,忘了是哪個暫存器了,reference上講的很詳細,看一下就知道了。望採納!用stm32產生pwm訊號控制步進電機,頻率和佔空比怎麼弄啊,下面是我寫的程式,怎麼才能輸出波形 你這個是bai初始化程式,子程式可用定 du時器 中斷子程zhi序細分spwm,也可da...