目录
前言
我们在刚开始学习单片机时候都是一脸茫然,因为单片机是我们硬件的开始并且还要翻找手册寻找原理图都是让初学者很头疼,这篇文章将教会你怎么使用GPIO输出输入控制.
一、GPIO是什么?
GPIO是什么?. 字面意思看,GPIO=General Purpose Input Output,通用输入输出。. 有时候简称为“IO口”。. 通用,就是说它是万金油,干什么都行。. 输入输出,就是说既能当输入口使用,又能当输出口使用。. 端口,就是元器件上的一个引脚。. 怎么用?. 写软件控制。
我们可以通过标准I/O端口位的基本结构了解GPIO的模式,然后通过编程相关寄存器实现一定的功能。当然这个需要我们去善于利用单片机编程手册进行查询。
二、使用步骤和程序
1.配置STM32CubeMX
1.建工程
2.搜索芯片型号
3.双击进入
4。点击使用引脚
5.选择输出
2.GPIO输出功能
实现点亮led灯
方法一:
while (1)
{ HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,0);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,0);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,1);
HAL_Delay(500);
}
方法二:
while (1)
{
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);
HAL_Delay(500);
}
3.GPIO输入功能(五向按键输入)
代码如下:
while (1)
{
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_8))//判断按键是否按下
{
HAL_Delay(100);//延时消抖
if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_8)==0)//判断按键是否 抬起
{
i++;
}
}
}
总结
对于GPIO既然一个引脚可以用于输入、输出或其他特殊功能,那么一定有寄存器用来选择这些功能。对于输入,一定可以通过读取某个寄存器来确定引脚电位的高低;对于输出,一定可以通过写入某个寄存器来让这个引脚输出高电位或者低电位;对于其他特殊功能,则有另外的寄存器来控制它们。