STM32CubeMX—GPIO输入输出实验

STM32CubeMx GPIO输入输出实验

 

一、实验说明

实验平台:STM32F103RCT6 (正点原子mini板)

实验内容:使用GPIO 点亮LED ,使用按键控制LED灯。

使用IO口:led1 PD2,LED2 PA8 .(低电平点亮) 。按键  PC5  按下输入低电平

二、实验操作

1、基础配置

    1)sys中,选好调试方式,例如jtag-4pin。

    2)RCC时钟,晶振选择。

    3)时钟树配置。

    4)中断分组配置。

    以上步骤可以参考串口中断实验。

2、外设配置—IO口配置

   1)IO口基本配置。

                         STM32CubeMX—GPIO输入输出实验_第1张图片

  

STM32CubeMX—GPIO输入输出实验_第2张图片

如图配置PD2、PA8 为输出模式。

STM32CubeMX—GPIO输入输出实验_第3张图片

PC5 接的是按键所以配置为输入模式。

STM32CubeMX—GPIO输入输出实验_第4张图片

STM32CubeMX—GPIO输入输出实验_第5张图片

STM32CubeMX—GPIO输入输出实验_第6张图片

两个IO口接LED,配置为上图的参数。

 

 

 

STM32CubeMX—GPIO输入输出实验_第7张图片

PC5配置为输入模式,上拉。(因为PC5一端接GND,一端接IO口)

2)、生成代码

     注意工程配置,和.c/.h 的添加。(串口中断实验有说明)

3)、编写代码

    在gpio.c中可以看到如下代码,就是GPIO的配置。

STM32CubeMX—GPIO输入输出实验_第8张图片

然后我们在主函数中编写控制代码。

使用HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET);  这个函数就可以操作IO口,让IO口输出高电平和低电平。

该函数有三个参数,

第一个是那组IO。

第二个是那个IO口。

第三个是输出电平状态,GPIO_PIN_RESET为低,GPIO_PIN_SET为高。

STM32CubeMX—GPIO输入输出实验_第9张图片

下一步读取按键,控制LED(PA8),按下灯亮,抬起灯灭。

    使用,HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_5)  函数判断io口的输入状态。

两个参数,一个是那组IO,另一个是那个IO口。

该函数会返回读取到输入的电平状态。

 HAL_Delay(),是HAL 库提供的ms级延时函数。这里起消抖作用。

STM32CubeMX—GPIO输入输出实验_第10张图片

下载验证即可。

你可能感兴趣的:(Stm32学习)