STM32
直播中

LL-LING宁

8年用户 1267经验值
擅长:电源/新能源
私信 关注
[问答]

如何利用stm32的GPIO口去点亮一个LED灯

STM32的GPIO口的基本结构是怎样构成的?

stm32的GPIO口的工作模式有哪几种呢?
如何利用stm32的GPIO口去点亮一个LED灯?

回帖(1)

郭欣

2021-12-15 11:18:32
在写这个程序时,虽然简简单单是让一个LED灯亮,但应该先了解stm32的GPIO口的基本结构与工作模式。   
GPIO口的工作模式   
(1)输入模式
1.输入浮空
2.输入上拉
3.输入下拉
4.模拟输入
(2)输出模式
1.开漏输出
2.开漏复用功能
3.推挽式输出
4.推挽式复用功能
明白GPIO口后,既然·让一个LED灯亮,我们需要选择一个LED灯,打开stm32的原理图:

  

  

我们可以选取D1,PB5-LED1,
#include “pbdata.h”
  void RCC_Configuration(void);
void GPIO_Configuration(void);
  int main(void)
{
RCC_Configuration(); //系统 时钟初始化
GPIO_Configuration();//端口初始化

while(1)//控制端口
{
        GPIO_SetBits(GPIOB,GPIO_Pin_5);//GPIO_SetBits设置指定的数据端口位
        delay(6000000);//0.5s
        GPIO_ResetBits(GPIOB,GPIO_Pin_5);//清除指定的数据端口位
        delay(6000000);//0.5s
}
{
SystemInit();//时间配置
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能或者失能 APB2 外设时钟
  }
  void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//GPIO_InitStructure为设置的变量

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//led  选择待设置的 GPIO 管脚
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;// 设置选中管脚的速率
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;// GPIO 设置选中管脚的工作状态  推挽输出
GPIO_Init(GPIOB,&GPIO_InitStructure);//GPIO(B)中的B是指定义的B型端口
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分