国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

stm32怎么讀取io口輸入電平

發(fā)布者:快樂舞動最新更新時間:2024-09-04 來源: elecfans關(guān)鍵字:stm32  輸入電平 手機看文章 掃描二維碼
隨時隨地手機看文章

要讀取STM32的IO口輸入電平,你可以使用GPIO外設(shè)來完成。GPIO是通用輸入輸出端口,它可以配置成輸入模式,用于讀取外部信號的電平。


首先,你需要定義一個GPIO_InitTypeDef類型的結(jié)構(gòu)體變量,用于配置GPIO的相關(guān)參數(shù)。這個結(jié)構(gòu)體包含了GPIO端口號、模式、速度、上拉下拉等參數(shù)。


接下來,你需要使用HAL庫中的HAL_GPIO_Init()函數(shù)來初始化GPIO端口。這個函數(shù)會使用結(jié)構(gòu)體中定義的參數(shù)來配置相應(yīng)的GPIO端口。


GPIO_InitTypeDef GPIO_InitStruct;


// 配置GPIO端口

GPIO_InitStruct.Pin = GPIO_PIN_0; // 設(shè)置GPIO端口號為0

GPIO_InitStruct.Mode = GPIO_MODE_INPUT; // 設(shè)置GPIO模式為輸入模式

GPIO_InitStruct.Pull = GPIO_PULLUP; // 設(shè)置GPIO上拉電阻

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // 設(shè)置GPIO速度為高速


HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIOA口

以上代碼展示了如何將GPIOA的第0個引腳配置為輸入模式,并啟用上拉電阻。你可以根據(jù)需要修改結(jié)構(gòu)體中的參數(shù)來適配不同的GPIO端口和功能。


接下來,你可以使用HAL庫中的HAL_GPIO_ReadPin()函數(shù)來讀取GPIO端口的電平狀態(tài)。這個函數(shù)會返回GPIO引腳的電平,如果引腳為高電平,則返回GPIO_PIN_SET;如果引腳為低電平,則返回GPIO_PIN_RESET。


GPIO_PinState pinState = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0); // 讀取GPIOA口第0個引腳的電平狀態(tài)


if(pinState == GPIO_PIN_SET) {

// GPIO引腳為高電平

// 進行相應(yīng)的處理

} else {

// GPIO引腳為低電平

// 進行相應(yīng)的處理

}

以上代碼展示了如何讀取GPIOA口第0個引腳的電平狀態(tài),并根據(jù)電平進行相應(yīng)的處理。


總結(jié)一下,要讀取STM32的IO口輸入電平,你需要通過配置GPIO的相關(guān)參數(shù),并使用HAL庫中的函數(shù)來初始化GPIO端口和讀取電平狀態(tài)。這樣你就可以根據(jù)需要進行相應(yīng)的處理了。注意,具體的代碼實現(xiàn)可能因為使用的STM32型號和開發(fā)環(huán)境的不同而有所不同,但基本思路是一樣的。


關(guān)鍵字:stm32  輸入電平 引用地址:stm32怎么讀取io口輸入電平

上一篇:STM32基于HAL庫實現(xiàn)微秒延時
下一篇:一個關(guān)于STM32 CAN出錯恢復(fù)的話題

推薦閱讀最新更新時間:2025-06-21 22:21

STM32 PA15 設(shè)置成下拉輸入卻總是高電平
原因:STM32上電時默認(rèn)打開JTAG調(diào)試功能。 解決辦法: 打開復(fù)用時鐘,禁止JTAG功能。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); 改變指定管腳的映射完全禁用(JTAG+SW-DP) GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);改變指定管腳的映射,JTAG-DP 禁用 + SW-DP 使能 這之后PA15就是普通IO口了。
[單片機]
STM32學(xué)習(xí)筆記(三)Register Map
本節(jié)與 微處理器原理與應(yīng)用 課程內(nèi)容類似 系統(tǒng)架構(gòu) CM3內(nèi)核 基于CM3的MCU Cortex-M3采用了哈佛結(jié)構(gòu),擁有獨立的指令總線和數(shù)據(jù)總線,可以讓取指與數(shù)據(jù)訪問并行不悖。但是另一方面,指令總線和數(shù)據(jù)總線共享同一個存儲器空間(一個統(tǒng)一的存儲器系統(tǒng)),可尋址空間為 4GB。 Cortex-M3三級流水線 Cortex-M3處理器使用一個3級流水線。流水線的3個級分別是:取指,解碼和執(zhí)行。 STM32系統(tǒng)架構(gòu) 系統(tǒng)架構(gòu)圖 閃存存儲器接口 --- FLITF(The Flash memory interface):ICode與Flash的接口。 閃存 --- Flash:系統(tǒng)掉電后也能正常保存,用于存放靜止態(tài)的程序
[單片機]
Arduino IDE下用STM32點亮OLED屏幕
自從在Arduino IDE 下跑通了STM32的閃燈程序之后 (https://www.jianshu.com/p/8a8d4cba910f),點亮OLED屏幕應(yīng)該也是小CASE,遺憾的是還是折騰了好幾個小時,最終才搞定。 用的STM32F401CxUx芯片,OLED是SSD1306芯片的128x32點陣屏幕 oled_ssd1306.JPG STM32F401.JPG 首先在Arduino IDE下載Wire庫和SSD1306Ascii庫。 SSD1306ASCII_LIB.jpg 代碼如下: // Simple I2C test for ebay 128x32 oled. #include Wire.h
[單片機]
STM32(1):點亮LED(上)
概述 今天我們的開啟了STM32開發(fā)的第一站:點亮LED,今天的內(nèi)容包含了很多基礎(chǔ)的知識,也有一些勸退的意味,不過,如果你能夠扛得住這波攻勢的,我覺得你高嵌入式方面真的是“風(fēng)骨清奇,可造之材”。 程序總覽 typedef unsigned short int uint16_t; typedef unsigned int uint32_t; #define __IO volatile #define PERIPH_BASE ((uint32_t)0x40000000) #define APB2PERIPH_BASE (PERIPH_BASE + 0x10000) #define
[單片機]
<font color='red'>STM32</font>(1):點亮LED(上)
STM32 assert_param
在STM32的固件庫和提供的例程中,到處都可以見到assert_param()的使用。如果打開任何一個例程中的stm32f10x_conf.h文件,就可以看到實際上assert_param是一個宏定義;在固件庫中,它的作用就是檢測傳遞給函數(shù)的參數(shù)是否是有效的參數(shù)。 所謂有效的參數(shù)是指滿足規(guī)定范圍的參數(shù),比如某個參數(shù)的取值范圍只能是小于3的正整數(shù),如果給出的參數(shù)大于3,則這個assert_param()可以在運行的程序調(diào)用到這個函數(shù)時報告錯誤,使程序員可以及時發(fā)現(xiàn)錯誤,而不必等到程序運行結(jié)果的錯誤而大費周折。 這是一種常見的軟件技術(shù),可以在調(diào)試階段幫助程序員快速地排除那些明顯的錯誤。 它確實在程序的運行上犧牲了效率(但只
[單片機]
STM32管腳重定義
最近在學(xué)習(xí)STM32,在BZ上一篇關(guān)于的串口通信文章里有這么一段代碼:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO,ENABLE); 當(dāng)初是參考開發(fā)的里子寫的一直對GPIOD或上“RCC_APB2Periph_AFIO”這句話的意思沒搞懂,通過這幾天在網(wǎng)上查找資料和看手冊,終于高清楚了,不敢獨享,希望能對跟我一樣的新手有所幫助吧o(∩_∩)o... STM32上有很多I/O口,也有很多的內(nèi)置外設(shè)想I2C,ADC,ISP,USART等 ,為了節(jié)省引出管腳,這些內(nèi)置外設(shè)基本上是與I/O口共用管腳的,也就是I/O管腳的復(fù)用功能。但是STM32還有一特別
[單片機]
STM32入門-時鐘篇
STM32中使用任何一個外設(shè)都必須打開相應(yīng)的時鐘。在STM32中有5個時鐘源可供用戶選擇: 1.HSI高速內(nèi)部時鐘,RC震蕩器,頻率為8MHz。 2.HSE高速外部時鐘,右英/陶瓷諧振器,或著外部時鐘源,4MHz-16MHz. 3.LSI內(nèi)部低速時鐘,RC震蕩器頻率為40Hz。 4.LSE外部低速時鐘,接頻率為32.768KHz的石英晶體。 5.PLL鎖相環(huán)頻輸出,時鐘源可選為HIS/2、HSE或HSE/2。倍頻可選2-16倍,但其輸出頻率最大不能超過72MHz。 系統(tǒng)時鐘SYSCLK,它是供STM32中絕大部分器件工作的時鐘源,系統(tǒng)時鐘可選擇為PLL輸出、HSI或者HSE。系統(tǒng)時鐘的做大頻率為72MHz,它通過AHB分頻器分頻后
[單片機]
stm32中斷分組學(xué)習(xí)
STM32的中斷優(yōu)先級包括:搶占式優(yōu)先級和響應(yīng)優(yōu)先級 具有高搶占式優(yōu)先級的中斷可以在具有低搶占式優(yōu)先級的中斷處理過程中被響應(yīng),即中斷嵌套,或者說高搶占式優(yōu)先級的中斷可以嵌套低搶占式優(yōu)先級的中斷。 當(dāng)兩個中斷源的搶占式優(yōu)先級相同時,這兩個中斷將沒有嵌套關(guān)系,當(dāng)一個中斷到來后,如果正在處理另一個中斷,這個后到來的中斷就要等到前一個中斷處理完之 后才能被處理。如果這兩個中斷同時到達(dá),則中斷控制器根據(jù)他們的響應(yīng)優(yōu)先級高低來決定先處理哪一個;如果他們的搶占式優(yōu)先級和響應(yīng)優(yōu)先級都相等,則根據(jù)他們在中斷表中的排位順序決定先處理哪一個。 STM32 可以支持的 68 個外部中斷通道,已經(jīng)固定的分配給相應(yīng)的外部設(shè)備。每個中斷通道都具備自己的
[單片機]
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章
電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved