使用STM32实现按钮控制LED灯

学习内容:


  1:确定按钮和LED的引脚:

        在STM32F103C8T6中,可以使用任意一个GPIO引脚作为输入或输出。您需要确定用于连接按钮和LED的GPIO引脚,并在程序中进行定义。

  2;定义GPIO引脚的模式:

        我们需要将按钮连接的GPIO引脚设置为输入模式,将LED连接的GPIO引脚设置为输出模式。

  3;读取按钮状态:

        连接按钮的GPIO引脚的状态。如果按钮被按下,则引脚状态为低电平(或者高电平,根据按钮的接线方式而定)。

  4;控制LED:

       亮起或熄灭。


(上程序)



1:led.h

       一般来说,将程序分配到不同的.c和.h文件中可以提高代码的清晰度和可读性,方便后期维护和扩展。 

      首先,我们创建一个名为led.h的头文件,用于声明函数和宏定义:在led.h中,我们包含了stm32f10x.h头文件,定义了连接LED的引脚和端口,并声明了三个函数,分别用于初始化LED引脚模式,控制LED亮起和熄灭


2:led.c

     在led.c中,我们实现了led_init()、led_on()和led_off()函数。在led_init()函数中,我们首先使能了GPIOB的时钟,然后配置PB0的引脚模式。在led_on()和led_off()函数中,我们分别控制PB0引脚的输出状态,从而控制LED的亮灭。

  


3:button.h

      在button.h中,包含了stm32f10x.h头文件,定义了连接按钮的引脚和端口,并声明了两个函数,分别用于初始化按钮引脚模式和检测按钮是否被按下。


4:button.c

      在button.c中,我们实现了button_init()和button_pressed()函数。在button_init()函数中,我们首先使能了GPIOA的时钟,然后配置PA0的引脚模式。在button_pressed()函数中,我们不断读取PA0引脚的状态,如果按钮被按下,则返回1,否则返回0。

  


5:Main函数

   最后,在主程序中,我们只需要包含led.h和button.h头文件,然后调用led_init()和button_init()函数进行初始化,再在循环中检测按钮是否被按下,从而控制LED的亮灭即可: 

      


   一个小小的实验;后续会有更多的小知识,从而来实现快速入门单片机,还有一些我的DIY制作也会同时分享给大家,大家记得和我一起做嗷,如果真的是这样的话,那我觉得简直是太裤辣🌶!有什么问题也可以向我留言私信,有好的建议也可以向我提出(我该打)。

物联沃分享整理
物联沃-IOTWORD物联网 » 使用STM32实现按钮控制LED灯

发表评论