当前位置: 首页> 汽车> 维修 > seo快速排名优化公司_徐州公司建站模板_今日要闻 最新热点_百度客服转人工

seo快速排名优化公司_徐州公司建站模板_今日要闻 最新热点_百度客服转人工

时间:2025/8/23 21:20:37来源:https://blog.csdn.net/qq_61134394/article/details/146440341 浏览次数: 0次
seo快速排名优化公司_徐州公司建站模板_今日要闻 最新热点_百度客服转人工

 对于如何点亮板载LED灯只需要掌握如何初始化GPIO引脚,并改变GPIO引脚的电平即可实现点亮或者熄灭LED。

Led_INFO led_info = {0};

 led_info 是一个结构体变量,类型为 Led_INFO,用于存储LED的状态信息。这里初始化为 {0},表示所有成员变量初始值为0。

void Led_Init(void)
{GPIO_InitTypeDef gpio_initstruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);		//打开GPIOB的时钟gpio_initstruct.GPIO_Mode = GPIO_Mode_Out_PP;				//设置为输出gpio_initstruct.GPIO_Pin = GPIO_Pin_13;						//将初始化的Pin脚gpio_initstruct.GPIO_Speed = GPIO_Speed_50MHz;				//可承载的最大频率GPIO_Init(GPIOC, &gpio_initstruct);							//初始化GPIOLed_Set(LED_OFF);											//初始化完成后,关闭蜂鸣器}

函数功能:初始化LED的GPIO引脚。
具体步骤:
1定义一个 GPIO_InitTypeDef 结构体变量 gpio_initstruct,用于配置GPIO引脚的模式、引脚号、      速度等。
2使用 RCC_APB2PeriphClockCmd 函数使能GPIOC的时钟,因为LED连接在GPIOC的第13号引    脚上。
3配置 gpio_initstruct 结构体:
  GPIO_Mode 设置为 GPIO_Mode_Out_PP,表示将引脚配置为推挽输出模式。
  GPIO_Pin 设置为 GPIO_Pin_13,表示初始化GPIOC的第13号引脚。
  GPIO_Speed 设置为 GPIO_Speed_50MHz,表示引脚的最大输出速度为50MHz。
4调用 GPIO_Init 函数,根据 gpio_initstruct 的配置初始化GPIOC的第13号引脚。
5调用 Led_Set(LED_OFF),将LED初始状态设置为关闭。

void Led_Set(_Bool status)
{GPIO_WriteBit(GPIOC, GPIO_Pin_13, status == LED_ON ? Bit_RESET : Bit_SET);		//如果status等于Led_ON,则返回Bit_SET,否则返回Bit_RESETled_info.Led_Status = status;}

 函数功能:根据传入的参数控制LED的开关状态。
参数:status:一个布尔值,表示LED的状态。LED_ON 表示打开LED,LED_OFF 表示关闭LED。
具体步骤:
1使用 GPIO_WriteBit 函数设置GPIOC的第13号引脚的状态:
2如果 status 等于 LED_ON,则将引脚设置为 Bit_RESET(低电平),打开LED。
3如果 status 不等于 LED_ON,则将引脚设置为 Bit_SET(高电平),关闭LED。
4更新 led_info.Led_Status 为当前的 status,以便记录LED的状态。

#include "stm32f10x.h"//硬件驱动
#include "led.h"Led_INFO led_info = {0};/*
************************************************************
*	函数名称:	Led_Init
*
*	函数功能:	蜂鸣器初始化
*
*	入口参数:	无
*
*	返回参数:	无
*
*	说明:		
************************************************************
*/
void Led_Init(void)
{GPIO_InitTypeDef gpio_initstruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);		//打开GPIOB的时钟gpio_initstruct.GPIO_Mode = GPIO_Mode_Out_PP;				//设置为输出gpio_initstruct.GPIO_Pin = GPIO_Pin_13;						//将初始化的Pin脚gpio_initstruct.GPIO_Speed = GPIO_Speed_50MHz;				//可承载的最大频率GPIO_Init(GPIOC, &gpio_initstruct);							//初始化GPIOLed_Set(LED_OFF);											//初始化完成后,关闭蜂鸣器}/*
************************************************************
*	函数名称:	Led_Set
*
*	函数功能:	蜂鸣器控制
*
*	入口参数:	status:开关蜂鸣器
*
*	返回参数:	无
*
*	说明:		开-Led_ON		关-Led_OFF
************************************************************
*/
void Led_Set(_Bool status)
{GPIO_WriteBit(GPIOC, GPIO_Pin_13, status == LED_ON ? Bit_RESET : Bit_SET);		//如果status等于Led_ON,则返回Bit_SET,否则返回Bit_RESETled_info.Led_Status = status;}
#ifndef _LED_H_
#define _LED_H_typedef struct
{_Bool Led_Status;} Led_INFO;#define LED_ON		1#define LED_OFF	0extern Led_INFO led_info;void Led_Init(void);void Led_Set(_Bool status);#endif

关键字:seo快速排名优化公司_徐州公司建站模板_今日要闻 最新热点_百度客服转人工

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: