/* 函数名:GPIO_ReadInputData 函数原型:u16 GPIO_ReadInputData(GPIO_TypeDef * GPIOx) 功能描述:读取指定的GPIO端口输入 输入参数1:GPIOx *---* 用来选择GPIO外设,x取: A B C D E *---* 输出参数:无 返回值:GPIO输入数据端口值 先决条件:无 被调用函数:无 *///例子u16 val;val=GPIO_ReadInputData(...
GPIO_ReadInputData读的是GPIOx的整个IDR寄存器的数据,返回一个十六位数,对应IDR寄存器的十六位。反映GPIOx所有端口的电平状态,所以参数只用传入GPIOx。 uint16_tGPIO_ReadInputData(GPIO_TypeDef* GPIOx); GPIO_ReadInputDataBit读的是GPIOx的IDR寄存器中的一位数,返回值不是0就是1。反映GPIOx的某个端口的电平状态,读...
//GPIO的初始化函数voidGPIO_DeInit(GPIO_TypeDef*GPIOx);//将外设 GPIOx 寄存器重设为缺省值voidGPIO_AFIODeInit(void);//将复用功能(重映射事件控制和 EXTI 设置)重设为缺省值voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);//处初始化IO端口引脚功能voidGPIO_StructInit(GPIO_InitTypeDef*...
所以是GPIOB ENABLE-》使能GPIO_InitTypeDef GPIO_InitStructure;//定义结构体GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//输入模式GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_10;//端口 可同时定义多个GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//选择速率GPIO...
state = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12); 2、GPIO_ReadInputData函数 该函数也可以读取指定引脚的电平。 函数原型:u16 GPIO_ReadInputData(GPIO_TypeDef* GPIOx) 参数GPIOx为指定GPIO组的指针,该函数返回一个u16类型的值,返回值的每一位代表一个引脚对应的电平,当电平为低时,返回值为0;当电平为高时...
GPIO是通用输入输出引脚,它是STM32芯片上的数字接口,可以被软件配置为输入或输出,在连接外部设备时发挥重要作用。它们可以使用寄存器级操作进行配置和控制,因此具有灵活性和可编程性。 STM32F103ZET6 芯片是 144 脚的芯片,具有 GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF 和 GPIOG 七组 GPIO 口,共有 112 个 ...
1.1 GPIO工作原理 要想实现流水灯,首先必须了解CPIO的工作原理。GPIO的基本结构如图1-1。 图1-1 GPIO的基本结构 STM32 的 IO 口可以由软件配置成如下 8 种模式: 输入模式 浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引...
STM32有多种类型的库,本节所介绍的STM32的GPIO函数接口是STM32标准库的函数接口,接口总共分为4种类型,如图2所示。 图2 GPIO库函数接口分类 1、关键参数 在详细介绍各个API函数接口功能之前,我们需要对函数接口中使用到的关键的几个参数进行分析。 (1)、GPIO_TypeDefGPIOx* ...
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); ⑦读取一个引脚的输入值 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ⑧读取一组引脚的输入值 uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); ⑨读取一个引脚的输出值 ...
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); ...