Stm32f103rct6-LED闪烁

Stm32f103rct6-LED闪烁

main.c文件

#include <includes.h>
#include <stdlib.h> 
#include <stdint.h>
#include "bsp.h"

//全局变量 定义
unsigned int key;
//函数声明
void  BSP_Init (void);
/*********************************************************************************************************
* 名    称 :main
* 功能描述 : 初始化STM32
* 输入参数 : none
* 返回参数 : none.
* 作    者 : 
* 修    改 :(日期、修改人名、修改原因)
* 特殊说明 : (特殊功能说明,例如:有参数检查等)
*********************************************************************************************************/ 

int main(void)
{
	/***************************************
	   点亮PA8:
	
	   APB2 > GPIOA > PA8
	****************************************/
	
	//函数调用
	
	//1、初始化配置  IO 时钟
   	BSP_Init(); //2、跳过去
	//4、回来,改参数为:GPIOB  GPIO_Pin_8
	   //拉低
	while(1)
	{
		 //拉低电平
   	    GPIO_ResetBits(GPIOA,GPIO_Pin_8);
	    delay_ms(100);
		 //拉高电平
   		GPIO_SetBits(GPIOA,GPIO_Pin_8);
	    delay_ms(100);
	}
}


bsp.c文件

#include<includes.h>

void RCC_Configuration(void);	/* 初始化系统时钟 */
void GPIO_Configuration(void);	/* IO口的配置*/

//2、初始化配置 (然后往下拉)
void  BSP_Init(void)
{ 
	RCC_Configuration();	  /* 初始化系统时钟 */
	GPIO_Configuration(); 	/* IO口配置 */
}
/*********************************************************************************************************
* 名    称 :RCC_Configuration
* 功能描述 : 初始化系统时钟
* 输入参数 : none
* 返回参数 : none.
* 作    者 : 
* 修    改 :(日期、修改人名、修改原因)
* 特殊说明 : (特殊功能说明,例如:有参数检查等)
*********************************************************************************************************/
void RCC_Configuration(void)
{
	SystemInit(); 
	/*APB2 72MHz 配置timer时会倍频为144mhz,具体有哪些在此时钟上可跳进去查看*/
	
	//3、改参数   ————>  APB2
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ,ENABLE);
}

/*********************************************************************************************************
* 名    称 :GPIO_Configuration
* 功能描述 : 初始化IO口配置
* 输入参数 : none
* 返回参数 : none.
* 作    者 : 
* 修    改 :(日期、修改人名、修改原因)
* 特殊说明 : (特殊功能说明,例如:有参数检查等)
******************* **************************************************************************************/ 
void GPIO_Configuration(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
    /* LED灯的配置 */
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;			 //通用推挽输出模式
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;			 //输出模式最大速度50MHz
	GPIO_Init(GPIOA, &GPIO_InitStructure);				    
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: STM32F103RCT6是一款基于ARM Cortex-M3核心的32位微控制器,它内置了多个通用输入输出引脚(GPIO),可以用于控制外部设备。在设计使用STM32F103RCT6来控制LED灯的电路图时,需要以下几个关键元件: 1. STM32F103RCT6芯片:作为主控芯片,负责控制LED灯的开关状态。 2. LED灯:用于发光,常见的有常亮型LED闪烁LED两种。 3. 电阻:用来限制电流,保护LED灯不受损。 4. 连接线:将芯片和LED灯连接在一起。 具体的电路图可以按照以下步骤进行设计: 1. 将STM32F103RCT6芯片的GPIO引脚与LED灯连接。选择一个GPIO引脚作为控制引脚,使用连接线将其与LED的正极连接。 2. 为LED灯选择一个适当的电阻。在电路图中,将电阻连接在LED的负极与STM32F103RCT6的GND引脚之间。电阻的选择应根据所使用的LED的特性以及所需的电流进行计算。 3. 如果需要控制LED的亮灭状态,可以将电阻与一个额外的GPIO引脚连接,通过控制该引脚的电平来控制LED的亮灭。在电路图中,将该GPIO引脚与电阻连接,然后将电阻与LED的正极连接。 在设计完电路图后,还需要编写适当的软件程序来控制STM32F103RCT6芯片相应GPIO引脚的输出电平,从而实现对LED灯的控制。具体的软件程序编写将涉及到使用STM32F1系列的开发环境和相应的编程语言,如C语言或汇编语言。 请注意,在实际设计中,除了上述基本的电路图外,还需要考虑如电源的连接、信号的滤波等其他因素,以保证LED灯的正常工作。 ### 回答2: STM32F103RCT6 是一款常用的STM32系列微控制器,由STMicroelectronics公司生产。它具有丰富的外设,因此可以广泛应用于各种领域,如工业控制、物联网和消费电子等。 对于STM32F103RCT6LED灯电路图,我们可以基于这款芯片设计一个简单的电路来驱动LED灯。下面是一种常见的电路设计: 首先,我们需要连接LED灯到STM32F103RCT6的GPIO引脚上。GPIO引脚具有输入和输出功能,我们可以通过配置来选择它们的工作模式。在这个例子中,我们将使用一个输出引脚来控制LED灯的亮灭。 我们选择一个合适的GPIO引脚(例如PA5)来连接到LED灯的正极上。假设我们将LED灯的负极连接到STM32F103RCT6地线上(GND)。 接下来,我们需要在代码中配置GPIO引脚的工作模式。我们可以使用ST的CubeMX软件来生成初始化代码,或者手动编写代码。 对于使用ST的CubeMX软件的方法,我们可以选择相应的GPIO引脚,并将其配置为输出引脚。然后,我们可以选择高电平或低电平输出,以控制LED灯的亮灭。 对于手动编写代码的方法,我们需要使用STM32的库函数来配置GPIO引脚的工作模式。具体来说,我们需要调用相应的函数来设置引脚为输出模式,并在需要时将引脚的输出状态设置为高电平或低电平。 完成这些步骤后,我们就可以通过控制STM32F103RCT6的GPIO引脚来控制LED灯的亮灭了。例如,如果我们将GPIO引脚设置为高电平状态,LED灯将会亮起;如果我们将GPIO引脚设置为低电平状态,LED灯将会熄灭。 需要注意的是,为了保护LED灯和STM32F103RCT6微控制器,我们可以在电路中添加电流限制电阻和保护二极管,以防止过流和反向电压的产生。 总之,这是一个基本的STM32F103RCT6LED灯电路图设计。 ### 回答3: LED灯电路图是STM32F103RCT6微控制器连接到LED灯的电路设计图。 STM32F103RCT6是一款32位ARM Cortex-M3内核的微控制器,拥有丰富的外设和强大的运算能力。LED灯是一种常见的电子组件,用于提供光源。 在电路图中,STM32F103RCT6微控制器的引脚连接到LED灯。通常,LED灯连接到STM32F103RCT6的GPIO(通用输入/输出)引脚。GPIO引脚可以配置为输出模式,以便通过控制引脚的电平来控制LED的亮灭。 电路图中还可能包括一些电阻器,用于限制LED电流,以保护LED免受过电流的损坏。电路图中也可能包括电容器,用于稳定电源电压。 在软件方面,通过编程STM32F103RCT6的GPIO引脚,可以控制LED灯的亮灭。例如,将引脚输出逻辑高电平可以使LED灯亮起,将引脚输出逻辑低电平可以使LED灯熄灭。 此外,还可以通过PWM(脉冲宽度调制)来控制LED的亮度。通过调节PWM的占空比,可以改变LED的亮度级别。 总结来说,STM32F103RCT6LED灯电路图主要是将微控制器的GPIO引脚连接到LED灯,通过控制引脚的电平或PWM来控制LED的亮灭和亮度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1-0-1 C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值