你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32CubeMX—GPIO输入输出实验

[复制链接]
STMCU小助手 发布时间:2022-5-15 15:29
一、实验说明
实验平台:STM32F103RCT6 (正点原子mini板)

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

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

二、实验操作
1、基础配置

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

    2)RCC时钟,晶振选择。

    3)时钟树配置。

    4)中断分组配置。

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

2、外设配置—IO口配置
   1)IO口基本配置。

03`7UM)O(UEJ5QCXJ~P9M_C.png

9JXCP9O3S7F{}PAUUGI)Y0O.png


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

TBS}VMGU{5KFCNZ3DO2KJSN.png

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

5RQK5@CEM061RE6SA%_T.png

SKA{7(_QCA{L}E8[A0L6)ZD.png

H{QREST3AUGGT2{[OQN@~7E.png

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

BDGZ@D417}[9(HREGX[{_J5.png


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

2)、生成代码

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

3)、编写代码

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

UIVG(2VD6}WSUFTU$%7]J06.png

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

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

该函数有三个参数,

第一个是那组IO。

第二个是那个IO口。

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

XB]SOS$FQ$L_~379[ADWOOB.png

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

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

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

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

HAL_Delay(),是HAL 库提供的ms级延时函数。这里起消抖作用。
}AF@J}SATAPG5PBQ_{1DJ{W.png





收藏 评论0 发布时间:2022-5-15 15:29

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版