STM32:GPIO--点亮灯(软件部分+操作步骤+解释)

简介: STM32:GPIO--点亮灯(软件部分+操作步骤+解释)

7cf65ca1b89644b3aff1930f2c4fd350.png


//操作STM需要3步:1.RCC开启时钟 2.GPIO_Init函数初始化GPIO 3.使用输出输入控函数控制GPIO口


//需要RCC库函数+两个外设,(在最后几行)需要右键跳转库函数定义(RCC函数在Library里的stm32f10x...rcc.h)


//RCC常用三个函数:RCC_AHB RCC_APB2 RCC_APB1


//AHB参数--@param:第一个参数选择哪个外设,第二个参数ENABLE or DISABLE


//首先调用RCC里面的APB2外设时钟控制函数RCC_ClockSecuritySystemCmd


//学习并使用gpio库函数:点击gpio.h并跳转定义并拖拽到最后查看参数类型(然后翻到最后面)


//void GPIO_DeInit(GPIO_TypeDef* GPIOx);调用这个函数后,所指定的GPIO外设就会被复位


//void GPIO_AFIODeInit(void);复位AFIO外设


//void GPIO_Init 初始化外设:用结构体的参数初始化GPIO口,需要先定义结构体变量,再给结构体赋值,最后调用这个函数


//void GPIO_StructInit 把结构体变量赋一个默认值


//以下4个为GPIO读取函数:


//uint8_t GPIO_ReadInputDataBit
//uint16_t GPIO_ReadInputDatauint8_t
//GPIO_ReadOutputDataBit
//uint16_t GPIO_ReadOutputData
//以下4个为GPIO写入函数:
//void GPIO_SetBits
//void GPIO_ResetBits
//void GPIO_WriteBit
//void GPIO_Write
//GPIO_Mode_Out_PP 推挽模式下,高低电平都有驱动模式
/GPIO_Mode_Out_OD /开漏模式下,高电平没有驱动能力(相当于高阻态),只有低电平驱动模式
#include "stm32f10x.h" // Device header
int main(void)
{
//第一步:
//首先调用RCC里面的APB2外设时钟控制函数RCC_ClockSecuritySystemCmd
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
//右键跳转到定义查找参数,需要点亮PA0的LED,所以选择第一个参数RCC_APB2Periph_GPIOA,第二个参数ENABLE开启时钟
//第二步:
GPIO_InitTypeDef GPIO_InitStructure;//函数名是地址
//创建局部变量名字之后需要创建局部变量
//右键跳转查找参数---在@ret后为参数,在ctrl+f搜索参数(因为注释部分不能直接搜索参数),电灯使用推挽输出,选择GPIO_Mode_Out_PP
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//右键跳转有多个定义,选择member项,右键跳转定义,之后就可以找@ref后GPIO_pins_define为参数,ctrl+f找GPIO_Pin_0
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//右键GPIO_Speed,查找@ref,因为是注释,所以按ctrl+f,选择输出速度为GPIO_Speed_50MHz
//最后将GPIO初始化地址给GPIO_Init的第二个参数
GPIO_Init(GPIOA,&GPIO_InitStructure);//右键跳转到定义查看参数,第一个参数为GPIOA,第二个参数是结构体,需要复制结构体类型+名字
//第三步:使用GPIO的输入输出函数 GPIO_SetBits(把指定端口设定为高电平) GPIO_ResetBits(把指定端口设定为低电平) GPIO_WriteBit GPIO_Write 每个函数括号内为参数
GPIO_ResetBits(GPIOA,GPIO_Pin_0);//查找参数点击该函数名称并找到@param后为参数,点亮
GPIO_SetBits(GPIOA,GPIO_Pin_0);//熄灭
GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_RESET);//右键点击函数名,跳转查找@param,发现如下:@arg Bit_RESET: to clear the port pin清除端口值,置低电平---亮
// @arg Bit_SET: to set the port pin 设置端口值,置高电平---灭
while(1)
{
}
}


相关文章
|
6月前
|
存储
STM32F103标准外设库——GPIO 输入、输出 (五)
STM32F103标准外设库——GPIO 输入、输出 (五)
383 0
STM32F103标准外设库——GPIO 输入、输出 (五)
|
芯片
最详细STM32,cubeMX 按键点亮 led
最详细STM32,cubeMX 按键点亮 led
191 0
|
传感器 芯片
最详细STM32,cubeMX 点亮 led
最详细STM32,cubeMX 点亮 led
159 0
|
4月前
stm32f407探索者开发板(十三)——JLINK在线调试_软件调试_方法与技巧
stm32f407探索者开发板(十三)——JLINK在线调试_软件调试_方法与技巧
290 0
|
4月前
stm32f407探索者开发板(八)——按键输入实验--GPIO做输入
stm32f407探索者开发板(八)——按键输入实验--GPIO做输入
|
芯片
STM32速成笔记(二)—GPIO
本文介绍了STM32的GPIO的配置和使用方法,并且给出了应用实例。此外,针对使用时可能遇到的一些问题给出了解决办法。
371 0
STM32速成笔记(二)—GPIO
|
4月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
156 0
|
5月前
经验大分享:STM32F4寄存器初始化系列:GPIO
经验大分享:STM32F4寄存器初始化系列:GPIO
30 0
【STM32】详解独立看门狗的本质和使用步骤&代码
【STM32】详解独立看门狗的本质和使用步骤&代码
|
6月前
|
芯片
STM32之软件模拟“I2C”时序
STM32之软件模拟“I2C”时序