日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]STM32F4每個GPIO端口有四個32位配置寄存器(GPIOx_MOER,GPIOx_OTYPER,GPIOx_OSPEEDR和GPIOx_PUPDR),兩個32位數(shù)據(jù)寄存器(GPIO_IDR和GPIO_ODR),一個32為置位/復位寄存器(GPIOx_BSRR),一個32為GPIO鎖寄存器(GPIO

STM32F4每個GPIO端口有四個32位配置寄存器(GPIOx_MOER,GPIOx_OTYPER,GPIOx_OSPEEDR和GPIOx_PUPDR),兩個32位數(shù)據(jù)寄存器(GPIO_IDR和GPIO_ODR),一個32為置位/復位寄存器(GPIOx_BSRR),一個32為GPIO鎖寄存器(GPIOx_LCKR),兩個32為復用功能寄存器(GPIOx_AFRH和GPIOx_AFRL)。主要特性如下
·每個端口支持16個IO引腳控制
·推挽或者開漏+帶上拉電阻或者下拉電阻
·從數(shù)據(jù)輸出寄存器(GPIOx_ODR)或者外設(復用功能引腳)輸出數(shù)據(jù)
·每個IO支持速度選擇
·輸入狀態(tài):浮動,上拉/下拉,模擬
·輸入數(shù)據(jù)到輸入數(shù)據(jù)寄存器(GPIOx_IDR)或者外設(復用功能輸入)
·置位和復位寄存器(GPIOx_BSRR)
·GPIO鎖機制,用于凍結IO配置
·模擬輸入
·復用功能輸入輸出選擇寄存器
·每兩個時鐘周期的快速IO切換
·高靈活度的復用功能使得IO可以作為通用IO使用或者外設使用

根據(jù)數(shù)據(jù)手冊中列出的每個 I/O 端口的特定硬件特征,GPIO 端口的每個位可以由軟件分別配置成多
種模式。
·輸入浮空
·輸入上拉
·輸入下拉
·模擬輸入
·具有上拉下拉功能的開漏輸出
·具有上拉下拉功能的推挽輸出
·具有上拉下拉功能的推挽復用功能
·具有上拉下拉功能的開漏復用功能
每個IO口可以自由編程,端口寄存器必須按32位字被訪問。GPIOx_BSRR跟GPIOx_BRR允許對熱河GPIO的讀/寫的獨立訪問;這樣在讀和寫之間訪問之間產(chǎn)生IRQ(中斷請求)時不會發(fā)生危險。 關于引腳耐壓5V可以參考數(shù)據(jù)手冊的引腳說明。
復位期間跟剛復位后,復用功能未開啟,IO端口被配置成浮空輸入模式,復位后JTAG引腳被置于輸入上拉或下拉模式。
PA15:JTDI置于上拉模式
PA14:JTCK/SWCLK置于下拉模式
PA13:JTMS/SWDAT置于上拉模式
PB4:JNTRST置于上拉模式
PB3:JTDO浮空狀態(tài)

微控制器通過多路選擇器將 IO 引腳與相應的片上外設相連接,這里要注意一點,每一次只能與一個片上外設相連接,防止多個外設使用這個引腳造成沖突。
每個引腳都有一個多路選擇器,每個多路選擇器有 16 路輸入(AF0 到AF15) ,通過寄存器 GPIOx_AFRL(從 0 到 7)和 GPIOx_AFRH(從 8 到 15)進行配置。
·復位后 IO 引腳默認連接到系統(tǒng)復用功能 0(AF0)
·片上外設的復用功能映射從 AF1 到 AF13
·M4 的 FPU EVENTOUT 映射到 AF15
不能將EVENTOUT映射到一下引腳:PC13,PC14,PC15,PH0,PH1和PI8
置位和復位寄存器(GPIOx_BSRR)是一個 32 位寄存器,允許用戶程序置位或者復位輸出數(shù)據(jù)寄存器 GPIOx_ODR 的每個位。置位和復位寄存器GPIOx_BSRR 的位數(shù)是 GPIOx_ODR 的兩倍。寄存器 GPIOx_BSRR 就是對寄存器 GPIOx_ODR 的位操作,GPIOx_BSRR 的高 16 位用于
復位操作,低 16 位用置位操作,只有對寄存器 GPIOx_BSRR 相應的位置 1 才對寄存器 GPIOx_ODR 有效,置 0 是無效的。如果對于寄存器GPIOx_ODR 的同一位同時進行置位和復位操作,那么置位操作的優(yōu)先級要高。當對 GPIOx_ODR 的個別位編程時,軟件不需要禁止中斷:在單次AHB1 寫操作里,可以只更改一個或多個位。GPIO鎖允許凍結IO配置。在一個端口位上執(zhí)行了LOCK程序,下一次復位前將不能再更改端口位配置。
所有端口都有外部中斷能力,在使用外部中斷先端口必須配置成輸入模式。
模擬輸入配置時,輸出換從其被禁止,禁止施密特觸發(fā)器輸入,弱上拉下拉被電阻禁止,讀輸入寄存器時數(shù)值為0。
外設的GPIO設置模式在F1參考手冊上有,但是在F4上這個說明沒有了具體大家在使用的時候可以參考f1,也可以參考官方外設例子。

STM32F4的GPIO庫
初始化配置函數(shù)
void GPIO_DeInit(GPIO_TypeDef*GPIOx)初始化GPIO寄存器到默認值
void GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct)GPIO初始化
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct)將GPIO_InitStruct組員設置到默認值
void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)GPIO寄存器鎖

GPIO的讀和寫
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)讀某一引腳的輸入數(shù)據(jù)寄存器IDR
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx)讀某一端口的輸入數(shù)據(jù)寄存器IDR
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx)讀某一端口的輸出數(shù)據(jù)寄存器ODR
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)讀某一引腳的輸出數(shù)據(jù)寄存器ODR
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)GPIO置高
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)GPIO置低
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin,BitAction BitVal)根據(jù)BitVal寫ODR寄存器
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)設置輸出寄存器ODR數(shù)值
void GPIO_ToggleBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)通過GPIO->ODR^=GPIO_Pin;實現(xiàn)GPIO翻轉

GPIO復用功能配置函數(shù)
void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)使用前要先使能GPIO時鐘與外設時鐘


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

基于ARM? Cortex?-M4的STM32F4 MCU系列采用了意法半導體的NVM工藝和ART Accelerator?,在高達180 MHz的工作頻率下通過閃存執(zhí)行時其處理性能達到225 DMIPS/608 Cor...

關鍵字: stm32f4 ARM

stm32f4和f1都有哪些區(qū)別?除了需要的頭文件不一樣,管腳配置什么的有區(qū)別么?

關鍵字: stm32f4 f1 比較

STM32F407VET6引腳圖及中文資料

關鍵字: stm32f4 引腳圖

比較F1的片子對于F4的RTC來說有很大提升,F(xiàn)4的RTC提供了日歷時鐘和兩個可編程鬧鐘中斷,一個周期性可編程喚醒標志。這樣很方便設置系統(tǒng)時間,并不會像F1的RTC那樣要自己計算年月日時分秒。F4的RTC是一個獨立的BC...

關鍵字: rtc stm32f4

【實驗目的】輸出7路占空比不同的PWM信號是各個版本ST庫必備的例子。本實驗的主要目的不是表現(xiàn)ST芯片PWM功能的強大,而是要完成輸出的精確計算?!緦嶒瀮?nèi)容】輸出7路PWM信號,并用示波器測量輸出。【實驗原理】1、時

關鍵字: pwm stm32f4 tim1 信號輸出

STM32F4的隨機數(shù)發(fā)生器RNG,以環(huán)境噪聲為種子,產(chǎn)生32位隨機數(shù)供主機使用?!局饕匦浴?、產(chǎn)生32位隨機數(shù) 2、兩次轉換時間間隔40PLL48CLK 3、隨機數(shù)熵檢測以發(fā)現(xiàn)不正常位,以產(chǎn)生穩(wěn)定序列 3、可被關閉以...

關鍵字: stm32f4 隨機數(shù)發(fā)生器

書接上文,開始折騰ADC的DMA傳輸。因為大家都在說DMA,就連ST的例子里邊也是使用DMA的。 ADC采集到的數(shù)據(jù)都存儲在一個固定的寄存器中。當常規(guī)采樣方式采樣多個通道時候,使用DMA可以較好地避免將采集到的數(shù)據(jù)...

關鍵字: adc dma stm32f4 數(shù)據(jù)傳輸 采集數(shù)據(jù)

為了提搞系統(tǒng)的可靠性,STM32F4系列MCU有一個獨立看門狗(IWDG)和一個窗口看門狗(WWDG)。今天做的實驗是關于獨立看門狗的。獨立看門狗使用的時鐘源是內(nèi)部低速振蕩器LSI。因為LSE可能沒接,HSE可能壞點,H...

關鍵字: iwdg stm32f4 獨立看門狗

對于串口就不多羅嗦了, 雖然串口是一種比較古老的接口, 速度較慢, 在計算機上早已淘汰, 但是由于它結構簡單, 使用方便, 或許也由于在計算機上使用過有基礎支撐(單片機就是在走曾經(jīng)電腦走過的路), 在嵌入式系統(tǒng)中依然

關鍵字: stm32f4 usart配置

Ⅰ、概述STM32的TIM定時器分為三類:基本定時器、通用定時器和高級定時器。從分類來看就知道STM32的定時器功能是非常強大的,但是,功能強大了,軟件配置定時器就相對復雜多了。很多初學者甚至工作了一段時間的人都不

關鍵字: stm32f4 tim 基本延時 計數(shù)原理
關閉