我们打开工程,在主函数的while里面添加下面代码: if(HAL_GPIO_ReadPin(key1_GPIO_Port,key1_Pin)==GPIO_PIN_SET) { HAL_GPIO_WritePin(LED_R_GPIO_Port,LED_R_Pin,GPIO_PIN_RESET); HAL_GPIO_WritePin(LED_B_GPIO_Port,LED_B_Pin,GPIO_PIN_SET); HAL_GPIO_WritePin(LED_G_GPIO_Port,LED_G_Pin,G...
led.c 文件: #include"led.h"#include"main.h"voidled(uint8_t state){//控制LED(参数传入ON或者OFF)if(state){HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);//亮}else{HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);//灭}} key.h 文件: #include"stm32f7xx.h"uint8_t...
STM32的GPIO模块是挂载在芯片内部AHB1总线(AHB:高级高性能总线)上的外设,因此就需要打开GPIO在AHB1总线上对应的时钟。AHB1总线上的外设时钟开关在STM32提供的标准库函数中通过函数 RCC_AHB1PeriphClockCmd ()来实现的。例如调用: 登录后复制RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); 这样就将GPIO...
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;// 设置上拉输入模式 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;// 速度设置为2MHz GPIO_Init(GPIOA, &GPIO_InitStruct); // 读取PA0的状态 PA0_state = GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_0); 4...
当 STM32需要进行 AD( 模数 ) 转换采样时,需要把引脚设置为模拟输入模式,模拟输入模式下,不需要连接...
STM32开发--GPIO详解 一.GPIO的寄存器 32位配置寄存器:GPIOx_CRL,GPIOx_CRH 32位数据寄存器:GPIOx_IDR,GPIOx_ODR 32位置位/复位寄存器:GPIOx_BSRR 16位复位寄存器:GPIOx_BRR 32位锁定寄存器:GPIOx_LCKR GPIOx_CRL :端口配置低寄存器 (控制P0--P7端口)...
STM32芯片GPIO的上拉电阻和下拉电阻最小值,典型值和最大值如下: (3)、uint16_t GPIO_PinSource和uint8_t GPIO_AF 这两个参数都是GPIO端口引脚需要配置成复用功能引脚用到的参数。 GPIO_PinSource:指需配置的复用功能引脚源,可选范围GPIO_PinSource0~GPIO_PinSource15。
GPIO_PinSource:指需配置的复用功能引脚源,可选范围GPIO_PinSource0~GPIO_PinSource15。 GPIO_AF:指该引脚具体需要配置的功能,具体配置功能要看实际应用需求,例如需要配置成SPI1功能的引脚,那么就选GPIO_AF_SPI1。 2、函数接口 下面就对具体的函数接口进行逐个的介绍。由于使用的是STM32的标准库,GPIO 相关的函数...
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); ⑥设置一组IO口为高或低电平 void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); ⑦读取一个引脚的输入值 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); ...
位)进行操作;也可以利用C语言或与指令方式;第三种就是读写STM32的“位带”区域,位带的作用与51...