STM32-点亮LED灯(GPIO配置)

点亮LED灯应该是每一人学习硬件的第一个实验了吧!从51到32在到ARM,废话少说,下面开始使用STM32点亮LED灯。
GPIO:又叫通用输入输出口,是微控制器必不可少的外设单元,用来和外界进行信号传递,数据交互的接口。
STM32的GPIO根据型号的不同分为A-H组,每一组都称为GPIOx组,每组都有独立的寄存器,因为相对于寄存器,函数版的使用还是比较容易入门的,尤其是有些编程基础的人来讲,但是寄存器是不可以忽视的,学会了基础的函数操作还是要回头去看看具体寄存器是如何运行的,这点很重要,高手和菜鸟的区别吧!
STM32的GPIO还具有十分强大复用功能,这点以后会介绍和使用到。现在就把它的GPIO当成一个可输出高低电平的引脚就可以了。
首先,看一下相关的寄存器,先了解既可。
这里写图片描述
在看一关于GPIO的所有方法。
这里写图片描述
其中在第一个实验中用到的函数,也就几个,比如GPIO_Init()用来初始化IO口,GPIO_SetBits(),GPIO_ResetBits(),用来置位和复位IO口的电平。GPIO_WriteBits(),和GPIO_Write()也可以用来改变GPIO的电平,具体的差别就要去看手册是了解了。

#include "stm32f10x.h"
/**
  * @brief  ³õʼ»¯GPIO£¬Ä¬ÈÏËÙ¶ÈΪGPIO_Speed_50MHz;
  *         
  * @param  GPIO·Ö×é
  * @param  GPIOÒý½Å
    * @param  GPIOÒý½Åģʽ
  * @retval None
  */
void GPIO_init(GPIO_TypeDef * GPIOx,u16 GPIO_Pin,GPIOMode_TypeDef Mode)
{
    GPIO_InitTypeDef GPIO_InitStruct;                                       
    GPIO_InitStruct.GPIO_Mode=Mode;                         
    GPIO_InitStruct.GPIO_Pin=GPIO_Pin;
    GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_Init(GPIOx,&GPIO_InitStruct);
}

int main()
{

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
        GPIO_init(GPIOA,GPIO_Pin_0,GPIO_Mode_Out_PP);
        GPIO_ResetBits(GPIOA,GPIO_Pin_0);
        while(1);
}

以上代码是将GPIOA0引脚设置为低电平。

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值