蓝桥杯嵌入式 之 点亮led

本文介绍如何使用STM32F10x系列微控制器通过GPIO接口控制LED灯的基本过程。主要内容包括初始化GPIO时钟、设置GPIO模式及速度,并通过GPIO操作点亮LED灯。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、原理

1、定义初始化用的结构体变量
2、使能用到的时钟
3、设置结构体变量内部的值
4、调用初始化函数进行初始化

二、代码


#include "stm32f10x.h"
#include <stdio.h>

void Led_Init(void);

int main(void)
{
	Led_Init();//初始化led的io口
	GPIO_SetBits(GPIOD, GPIO_Pin_2);//打开控制led的锁存器
  while (1)
  {
		GPIO_ResetBits(GPIOC, GPIO_Pin_8);//将io口置0,即将led点亮
		GPIO_ResetBits(GPIOC, GPIO_Pin_9);
		GPIO_ResetBits(GPIOC, GPIO_Pin_10);
  }
}


void Led_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;//定义io口结构体变量
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//每组io口都有对应的时钟,使用那种组io口就要打开其对应的时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
	
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;//gpio阶构体有三个变量,先给gpio_pin赋值
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//设置io口模式
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;//设置io口频率
	GPIO_Init(GPIOC, &GPIO_InitStruct);//对io口进行初始化
	
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_2;//同上
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz;
	GPIO_Init(GPIOD, &GPIO_InitStruct);
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值