当前位置:首页 > 单片机 > 单片机
[导读]STM32F4每个GPIO端口有四个32位配置寄存器(GPIOx_MOER,GPIOx_OTYPER,GPIOx_OSPEEDR和GPIOx_PUPDR),两个32位数据寄存器(GPIO_IDR和GPIO_ODR),一个32为置位/复位寄存器(GPIOx_BSRR),一个32为GPIO锁寄存器(GPIO

STM32F4每个GPIO端口有四个32位配置寄存器(GPIOx_MOER,GPIOx_OTYPER,GPIOx_OSPEEDR和GPIOx_PUPDR),两个32位数据寄存器(GPIO_IDR和GPIO_ODR),一个32为置位/复位寄存器(GPIOx_BSRR),一个32为GPIO锁寄存器(GPIOx_LCKR),两个32为复用功能寄存器(GPIOx_AFRH和GPIOx_AFRL)。主要特性如下
·每个端口支持16个IO引脚控制
·推挽或者开漏+带上拉电阻或者下拉电阻
·从数据输出寄存器(GPIOx_ODR)或者外设(复用功能引脚)输出数据
·每个IO支持速度选择
·输入状态:浮动,上拉/下拉,模拟
·输入数据到输入数据寄存器(GPIOx_IDR)或者外设(复用功能输入)
·置位和复位寄存器(GPIOx_BSRR)
·GPIO锁机制,用于冻结IO配置
·模拟输入
·复用功能输入输出选择寄存器
·每两个时钟周期的快速IO切换
·高灵活度的复用功能使得IO可以作为通用IO使用或者外设使用

根据数据手册中列出的每个 I/O 端口的特定硬件特征,GPIO 端口的每个位可以由软件分别配置成多
种模式。
·输入浮空
·输入上拉
·输入下拉
·模拟输入
·具有上拉下拉功能的开漏输出
·具有上拉下拉功能的推挽输出
·具有上拉下拉功能的推挽复用功能
·具有上拉下拉功能的开漏复用功能
每个IO口可以自由编程,端口寄存器必须按32位字被访问。GPIOx_BSRR跟GPIOx_BRR允许对热河GPIO的读/写的独立访问;这样在读和写之间访问之间产生IRQ(中断请求)时不会发生危险。 关于引脚耐压5V可以参考数据手册的引脚说明。
复位期间跟刚复位后,复用功能未开启,IO端口被配置成浮空输入模式,复位后JTAG引脚被置于输入上拉或下拉模式。
PA15:JTDI置于上拉模式
PA14:JTCK/SWCLK置于下拉模式
PA13:JTMS/SWDAT置于上拉模式
PB4:JNTRST置于上拉模式
PB3:JTDO浮空状态

微控制器通过多路选择器将 IO 引脚与相应的片上外设相连接,这里要注意一点,每一次只能与一个片上外设相连接,防止多个外设使用这个引脚造成冲突。
每个引脚都有一个多路选择器,每个多路选择器有 16 路输入(AF0 到AF15) ,通过寄存器 GPIOx_AFRL(从 0 到 7)和 GPIOx_AFRH(从 8 到 15)进行配置。
·复位后 IO 引脚默认连接到系统复用功能 0(AF0)
·片上外设的复用功能映射从 AF1 到 AF13
·M4 的 FPU EVENTOUT 映射到 AF15
不能将EVENTOUT映射到一下引脚:PC13,PC14,PC15,PH0,PH1和PI8
置位和复位寄存器(GPIOx_BSRR)是一个 32 位寄存器,允许用户程序置位或者复位输出数据寄存器 GPIOx_ODR 的每个位。置位和复位寄存器GPIOx_BSRR 的位数是 GPIOx_ODR 的两倍。寄存器 GPIOx_BSRR 就是对寄存器 GPIOx_ODR 的位操作,GPIOx_BSRR 的高 16 位用于
复位操作,低 16 位用置位操作,只有对寄存器 GPIOx_BSRR 相应的位置 1 才对寄存器 GPIOx_ODR 有效,置 0 是无效的。如果对于寄存器GPIOx_ODR 的同一位同时进行置位和复位操作,那么置位操作的优先级要高。当对 GPIOx_ODR 的个别位编程时,软件不需要禁止中断:在单次AHB1 写操作里,可以只更改一个或多个位。GPIO锁允许冻结IO配置。在一个端口位上执行了LOCK程序,下一次复位前将不能再更改端口位配置。
所有端口都有外部中断能力,在使用外部中断先端口必须配置成输入模式。
模拟输入配置时,输出换从其被禁止,禁止施密特触发器输入,弱上拉下拉被电阻禁止,读输入寄存器时数值为0。
外设的GPIO设置模式在F1参考手册上有,但是在F4上这个说明没有了具体大家在使用的时候可以参考f1,也可以参考官方外设例子。

STM32F4的GPIO库
初始化配置函数
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)读某一引脚的输入数据寄存器IDR
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx)读某一端口的输入数据寄存器IDR
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx)读某一端口的输出数据寄存器ODR
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)读某一引脚的输出数据寄存器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)根据BitVal写ODR寄存器
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)设置输出寄存器ODR数值
void GPIO_ToggleBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)通过GPIO->ODR^=GPIO_Pin;实现GPIO翻转

GPIO复用功能配置函数
void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)使用前要先使能GPIO时钟与外设时钟


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭