秀!靠这篇我竟然成功入门stm32!实战GPIO输出控制PB0,点亮LED灯!(文章结尾附带 STM32CUBEMAX使用方法!)

先上程序!!!(标准库方式实现PB0点亮)

int main(void)
{
	 RCC->IOPENR  |=1<<1;//打开GPIOB的使能
         GPIOB->MODER |=1<<0;//配置01输出模式(PB0的)
	 GPIOB->MODER &=~(1<<1);//配置01输出模式
	 GPIOB->OTYPER &=~(1<<0);//配置输出类型 推挽输出(PB0的)
	 GPIOB->OSPEEDR |=1<<0;//配置输出速度(PB0的)
	 GPIOB->OSPEEDR |=1<<1;//配置输出速度(PB0的)
  while (1)
  {
     GPIOB->BRR=1<<0;//控制PB0输出低电平
  }
}

(HAL库方式实现PB0点亮并且闪烁)

方法一:
  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);//IO口输出状态翻转
	  HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);
          HAL_Delay(500);
  }

1、GPIO简介(IO)

--GP General-purpose 通用

--input 输入

--output 输出

应用:(输出)LED灯、数码管、继电器(小电流控制大电流)

(输入):各种传感器、按键、光敏、adc

程序里:GPIOX,GPIO_PIN_0(GPIOB,GPIO_PIN_0)

 

通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作用和功能是非常重要的。

2. IO框图

 

4. 寄存器

 

5. GPIO编程相关寄存器

GPIO端口模式寄存器(GPIOx_MODER)(x=A...D,F)

 

GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x = A..D,F)

 

GPIO 口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F)

 

GPIO 口上拉 / 下拉寄存器 (GPIOx_PUPDR) (x = A..D,F)

 

GPIO 端口输入数据寄存器 (GPIOx_IDR) (x = A..D,F)

 

GPIO 端口输出数据寄存器 (GPIOx_ODR) (x = A..D,F)

 

GPIO 端口置位 / 复位寄存器 (GPIOx_BSRR) 和 (GPIOx_BRR) (x = A..D,F)

 

 

6、GPIO输出功能(点亮LED)

 

 

 

 

 

 

 

 

 这篇博客就写到这里,感谢大家的阅读,大家如果感觉文章有哪里不对或者有什么需要补充的,欢迎在评论区讨论或者私信我。

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值