历史上的今天
返回首页

历史上的今天

今天是:2025年02月03日(星期一)

2021年02月03日 | STM32F4xx GPIO函数解释

2021-02-03 来源:eefocus

以下内容来自stm32f4xx_gpio.c

gpio.c内有14个函数,其中读写操作9个、初始化操作3个、复用( Changes the mapping of the specified pin.---更改指定引脚映像),还有一个 Specifies the pins to be toggled.<切换指定引脚>。


一、函数

1、读写操作

uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)  //读取输入I/O口的引脚值   ---0或1

uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx)//读取输入I/O口状态值

uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) //读取输出I/O口的引脚值

uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx)//读取输出I/O状态值

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)//I/O口的引脚值置高

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)//I/O口的引脚值置低

void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)/向I/O引脚写入数据

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)//向I/O口写入数据

void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)//锁定I/O口

2、初始化操作

void GPIO_DeInit(GPIO_TypeDef* GPIOx)

void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)//I/O口初始化

void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct)//GPIO_InitStruct置默认值

3、复用操作

void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)

4、toggle bit

void GPIO_ToggleBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)


二、使用方法

1.读写操作

读写操作使用了GPIO_TypeDef、uint16_t定义参数,使用时需根据具体要求选择合适的参数。

2.初始化操作

使用该类函数之前需要获得GPIO_InitStryct结构体,并赋值。再调用该函数。

3、4方法同上。


推荐阅读

史海拾趣

宇阳科技(EYANG)公司的发展小趣事

作为电子行业的领军企业之一,宇阳科技始终坚持以创新为驱动的发展战略。公司不断投入研发资金,加强技术团队建设,积极引进先进技术和管理经验。通过持续创新和技术升级,宇阳科技成功推出了多款具有自主知识产权的新型电子元器件产品,并引领了行业潮流。同时,公司还积极参与行业标准制定和技术交流合作等活动,为推动电子行业的发展做出了积极贡献。

以上五个故事梗概概述了宇阳科技在电子行业中的发展历程和主要成就。这些故事不仅展现了公司的技术实力和市场地位,也体现了公司不断创新、追求卓越的发展理念。

德索五金(dosinconn)公司的发展小趣事

发展历程:2008年,公司从工程部门中分出研发部门,并设立研发实验室。连接器定制研发从此成为公司的核心业务,创新意识也深入到了企业文化之中。

成果与影响:研发部门的成立和技术创新的推动使德索五金电子在连接器制造领域保持了领先地位,也为公司的长远发展提供了源源不断的动力。

Hsuan Mao Technology Co公司的发展小趣事
ABC [ABC Taiwan Electronics Corp]公司的发展小趣事

进入新世纪,ABC Taiwan Electronics Corp面临着产业升级和技术创新的双重挑战。公司加大了对研发的投入,不断推出具有竞争力的新产品。同时,公司还引进了先进的生产设备和管理理念,提升了生产效率和产品质量。通过产业升级和技术创新,ABC成功应对了市场的变化和挑战,保持了稳健的发展态势。

GHI Electronics公司的发展小趣事

GHI Electronics公司成立于2003年,总部位于美国密歇根州。公司自创立之初便明确了其使命:为客户提供咨询、制造和解决方案,以降低风险、成本和复杂性。这一清晰的定位使得GHI Electronics能够迅速在电子工程和制造领域站稳脚跟。随着市场需求的不断变化,GHI Electronics不断调整和优化其服务内容,逐渐赢得了客户的信任和市场的认可。

GHz Technology ( Microsemi )公司的发展小趣事

GHI Electronics深知技术创新是企业持续发展的关键。因此,公司不断加大研发投入,致力于开发具有自主知识产权的产品。其中,ARM微控制器、显示模块、空气质量传感器、模块化系统以及微处理器等主打产品系列,凭借其卓越的性能和稳定的品质,在消费电子、便携设备、通讯/网络等领域获得了广泛应用。这些技术创新不仅巩固了GHI Electronics在市场上的领先地位,也为其未来的发展奠定了坚实的基础。

问答坊 | AI 解惑

谁能给我发个netsvwrap.msi安装包 谢谢 微软已经不提供下载了 急用 38572681@163.com

谁能给我发个netsvwrap.msi安装包 谢谢 微软已经不提供下载了 急用 38572681@163.com…

查看全部问答>

现今 嵌入式开发中C代码确实比C++ 代码有明显或较大的效率上的优势么 ?

嵌入式开发中C代码确实比C++ 代码有明显或较大的效率上的优势么 ? 硬件发展的今天 两者之间的区别究竟多大呢? 真的不用C++么? 谢谢!…

查看全部问答>

DCDC转换器

DCDC是直流到直流转换器,由于没用过不太了解,谁帮个忙说一下 它是怎么工作的,假设12V转到5V的DC 那么如果输入12V不稳定输出会稳定吗?还有如果输入大于12V呢  输入与输出之间有什么关系嘛?实在是不了解,望大虾们帮忙解惑。 …

查看全部问答>

430 的ADC12IE问题

在ADC_init()AD初始化函数中打开了ADC12IE中断,在ADC12ISR中断函数中需不需要将ADC12IE关掉?   我的程序出现两个问题: 问题1:如果在#pragma vector=ADC_VECTOR __interrupt void ADC12ISR (void) 中断函数中不把 ...…

查看全部问答>

串口发送中断打开后就不停的循环中断,必须软件设置终止,是吗

串口发送中断打开后就不停的循环中断,必须软件设置终止,是吗…

查看全部问答>

关于DM9000A升级到DM9000C的问题

DM9000AEP升级到DM9000CEP:   最近有很多朋友,问到DM9000AEP升级到DM9000CEP,是否可以完全兼容。或者需要修改哪些地方,可以这样回答:   1.DM9000AEP和DM9000CEP在管脚定义上是完全PIN TO PIN,都是LQFP48PIN,目前因为行业竞争 ...…

查看全部问答>

串口发送时定时器工作在方式1 的问题

大家做串口发送的时候,一般定时器1都是用的八位重装,有谁用过工作方式1的啊,我现在用八位重装是对的,但用工作方式1 就不对了,望各位给个提示把…

查看全部问答>

28035的I2C的传输频率可以设置到100Hz吗?

28035的I2C的传输频率可以设置到100Hz吗? 看官方网上写了support from 10K to 400k.…

查看全部问答>

点阵生日歌

点阵生日歌 ——Made By JQH        先来说说这个东西能完成的功能。成品主要由是一个8*8的led点阵,一个小扬声器,一片74LS138,一片MSP430G2553组成。实现了一些简单的文字、字母、表情更替显示和“祝你生日快乐”歌曲的播 ...…

查看全部问答>

基于MSP430G2553的Bootloader软件流程图

经过实际调试通过!不说什么直接上附件!…

查看全部问答>