1、GPIO简介
- GPIO全称(General Purpose Input Output)即,通用输入输出口
- 可配置八种输入输出模式,具体就不赘述了
- 引脚电平0-3.3V,部分引脚可到5V
- 输出模式:端口可输出高低电平,驱动LED、蜂鸣器、模拟通信协议输出时序等
- 输入模式:端口可读取高低电平和电压,用于按键输入、外接模块电平信号输入、ADC采集、模拟通信协议接受数据等
2、GPIO基本结构
STM32的所有GPIO都挂载在APB2外设总线
GPIO外设的命名按照GPIOA、GPIOB等,每个GPIO外设有16个引脚,编号从0-15。即PA0-PA15
3、点亮一个LED灯
我使用的是STM32F103C8T6最小系统板,现在想通过PA0点亮一个LED灯
(1)打开keil5软件
(2)复制工程
将我们上次创建好的工程模板复制一下
将文件粘贴并更名
双击打开新文件,并找到project
双击打开project,找打keil5图标的文件,双击打开,即可打开新工程
工程编辑不会出现错误和警告
(3)开始编写代码,操作STM32的GPIO需要三步
a.使用RCC开启GPIO时钟
- 首先使用RCC里面的APB2外设时钟控制函数
- 将这个函数复制到main.c文件中
- 右键点击RCC_APB2PeriphClockCmd函数
- 进入rcc.c文件,复制两个参数到RCC_APB2PeriphClockCmd函数
b.使用GPIO_Init函数初始化GPIO
- 开始调用GPIO_Init函数
- 复制GPIO_InitTypeDef,放在GPIO_Init函数前面,然后起个名叫GPIO_InitStructure(这个名字可以自定义)
- 复制结构体的名字,用.(点)把结构体的成员都引出来
- 然后还是用右键跳转,复制参数
- 找到需要的参数,并复制过去
- 最后完成GPIO_Init函数的编写,一定加上&
c.使用输出或者输入的函数控制GPIO口
使用一下四个函数就可以完成GPIO的输入和输出,他们都在gpio.c文件中
使用GPIO_ResetBits函数就可以让GPIO口输出低电平,在这里就可以点亮LED灯
4、代码完成,编译下载并测试
0错误,0警告下载程序后,LED灯被成功点亮!
在本期内容中,学会了点亮一个LED灯,下一期我们会实现LED流水灯效果。
如果觉得本期攻略有价值、能够帮助到你或别人,请一定要帮忙点点赞点点收藏,感谢你的支持。