當前位置:首頁 » 原因查詢 » gpio值偏高的原因有哪些
擴展閱讀
多少錢蛋糕 2025-05-20 03:55:44
怎樣辨別名詞詞性視頻 2025-05-20 03:55:43

gpio值偏高的原因有哪些

發布時間: 2022-04-18 09:42:34

1. STM32有些引腳上電後一直是高電平不能改變,這是什麼原因

對於初學習者來說為什麼用到PB3和PB4時無法控制輸出呢?
下面就這一問題進行分析講解。
首先,STM32F10x系列的MCU復位後,PA13/14/15 & PB3/4默認配置為JTAG功能。有時我們為了充分利用MCU I/O口的資源,會把這些
埠設置為普通I/O口。具體方法如下:
在GPIO_Configuration(); // 配置使用的 GPIO 口:

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
// 改變指定管腳的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
// 改變指定管腳的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);

注意:不要忘記在RCC_Configuration()中開啟AFIO時鍾,
//AFIO時鍾
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
函數GPIO_PinRemapConfig(u32GPIO_Remap, FunctionalState NewState);改變指定管腳的映射,很多復用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復用功能的引出腳位是可通過程序改變的。就是上面庫函數。

2. 上拉和下拉是指gpio輸出高電位還是低電位

上拉和下拉是指GPIO輸出高電位(上拉)還是低電位(下拉)有些GPIO腳位原始是高電位輸出而有些是低電位輸出初始化時看自己需求設定

3. 若GPIO配置為上拉輸入模式,在默認狀態下(GPIO引腳無輸入),讀取得的GPIO引腳數據為1高電平。何解

內部配置為上拉,在與外部無連接的情況下,處於高電平(即邏輯 1)。那麼對於輸入模式而言,這種情況下,從引腳讀入的數據自然是高電平(邏輯 1)。

4. 大神們GPIO的輸出,高電平是多少伏

GPIO_Pin_TypeDef PortPins), GPIO_Pin_5);
如GPIO_WriteLow(GPIODGPIO_WriteLow(GPIO_TypeDef* GPIOx

5. 為啥初始化RESET管腳GPIO輸出高電平就能解決靜電問題了

檢查了一下靜電復位的原因。發現是External Pin Reset外部引進復位,山外哥說是RESET .為啥初始化RESET管腳GPIO輸出高電平就能解決靜電問題了,後,主機只需發送一個命令到BLIK RATE1或BLIN... 硬體復位硬體RESET為低電平有效,復位後,器件內部上電復位POR控制模塊

6. GPIO口為什麼輸出高電平

DSP上電所有IO口輸出默認為高電平,所以如果是驅動繼電器是,一定得考慮這個問題,要不然一上電你的繼電器都動作,不會受你的控制,這點我深有體會,第一次做一個項目就吃了這個虧!

7. gpio介面怎麼用

一、gpio用途

General Purpose Input Output (通用輸入/輸出)簡稱為GPIO,或匯流排擴展器,人們利用工業標准I2C、SMBus或SPI介面簡化了I/O口的擴展。當微控制器或晶元組沒有足夠的I/O埠,或當系統需要採用遠端串列通信或控制時,GPIO產品能夠提供額外的控制和監視功能。

每個GPIO埠可通過軟體分別配置成輸入或輸出。Maxim的GPIO產品線包括8埠至28埠的GPIO,提供推挽式輸出或漏極開路輸出。提供微型3mm x 3mm QFN封裝。

不同系統間的GPIO的確切作用不同。通用常有下面幾種:

1.輸出值可寫(高=1,低=0)。一些晶元也可以選擇驅動這些值的方式,以便支持「線-或」或類似方案(開漏信號線)。

2.輸入值可讀(1,0)。一些晶元支持輸出管腳回讀,這在線或的情況下非常有用(以支持雙向信號線)。GPIO控制器可能具有一個輸入防故障/防反跳邏輯,有時還會有軟體控制。

3.輸入經常被用作中斷信號,通常是邊沿觸發,但也有可能是電平觸發。這些中斷可以配置為系統喚醒事件,從而將系統從低功耗模式喚醒。

4.一個GPIO經常被配置為輸入/輸出雙向,根據不同的產品單板需求,但也存在單向的情況。

5.大多是GPIO可以在獲取到spinlock自旋鎖時訪問,但那些通過串列匯流排訪問的通常不能如此操作(休眠的原因)。一些系統中會同時存在這兩種形式的GPIO。

6.在一個給定單板上,每個GPIO用於一個特定的目的,如監控MMC/SD卡的插入/移除,檢查卡防寫狀態,驅動LED,配置發送器,串列匯流排位拆,觸發一個硬體看門狗,觸發一個開關之類的。

二、GPIO使用方法

要使用GPIO,系統首先要分配一個GPIO,使用gpio_request() 為系統分配一個GPIO。

接下來要做的一件事是標示GPIO的方向,通常在使用GPIO建立一個platform_device時(位於單板的setup代碼中)。

返回0標示成功,或是一個負的errno錯誤碼。它應該被檢查,因為get/set調用沒有錯誤返回,且可能會有錯誤配置。你通常應該在線程上下文中使用這些調用。雖然如此,對於spinlock-safe的GPIO,在tasking使能之前使用也是可以的,作為一個早期的單板建立。

對於輸出GPIO,value參數提供了初始輸出值。這有助於避免系統啟動過程中的信號干擾。

為了與GPIO早期的介面兼容,設置一個GPIO的方向,隱性要求申請GPIO。這個兼容性從可選的gpiolib架構中移除了。

為了與GPIO早期的介面兼容,設置一個GPIO的方向,隱性要求申請GPIO。這個兼容性從可選的gpiolib架構中移除了。

如果GPIO號碼無效或是指定的GPIO不能使用對應模式操作的話,設置方向會失敗。依靠boot固件設置好GPIO的方向通常不是一個好主意,因為boot的功能可能沒有通過驗證(除了boot linux)。(類似的,單板setup代碼可能需要將管腳復用為一個GPIO,和配置為合適的上拉/下拉)

8. stm32的GPIO輸出高電平不成功。求高手指點!!

燒完程序看看GPIOA->ODR寄存器,看看6,7,8,9是不是1,要不你直接在while循環里寫GPIOA->ODR=0xffff;試試

9. 關於GPIO輸出邏輯電平,請問能不能設置得比3.3V更高

無線電愛好都十分清楚,而談及「電平」能說的人卻不多。盡管人們經常遇到書刊中亦多次談起電路中的高電平、低電平、電平增益、電平衰減,就連必備的萬用表上都有專門測電平的方法和刻度線,而且「dB」 「dBu」 「dBm」的字樣也常常可見,就其概念卻無人重談。我們在初學「電」的時候,往往把抽象的電學概念,用水的具體現象進行比喻,如水流比電流,水壓比電壓,水阻比電阻,而「電平」卻無法炮製。到底什麼是「電平」呢?電平就是指電路中兩點或幾點在相同阻抗下電量的相