当前位置: 首页 > news >正文

STM第三天点亮LED

一:控制LED灯

1:LED灯的正极接到了3.3V, LED灯的负极接到了PA1,也就是GPIOA1引脚
2:只需要控制PA1为相对应的低电平,即可点亮对饮的LED灯,输出高电平则熄灭对应的LED灯。

二:写程序

1:为了方便,以后我们写外设写在user新建一个文件夹,里面建.c和.h文件

2:在keil上写工程

a:建立LED的.c文件(每一行代码必须要写注释,全部搞懂)

#include"led.h"
#include"stm32f10x.h"

void LED_Init(void)//初始化LED的函数———定义一个函数,声明函数(在头文件.h),调用函数(在main.c文件)
{
	GPIO_InitTypeDef LED_Initstruct;//初始化GPIO结构体,结构体后面的名字可以自由取
	
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//初始化时钟APB2下的GPIOA和打开时钟
	//也就是说要先打开时钟,在配置外设
	//时钟初始化,要写在初始化GPIO结构体的前面,因为时钟就似心脏,要心脏开始跳了,CPU才会运行
	
	
	
	LED_Initstruct.GPIO_Pin=GPIO_Pin_1;//配置引脚为GPIO_PIN_1,也就是GPIOA1引脚
	LED_Initstruct.GPIO_Speed=GPIO_Speed_2MHz;//配置引脚传输速度为2MHZ
	LED_Initstruct.GPIO_Mode=GPIO_Mode_Out_PP;//配置引脚输出模式为推挽输出
	GPIO_Init(GPIOA,&LED_Initstruct);//初始化GPIO
	
	
	
	
	
}

 2:写LED.h(头文件)

void LED_Init(void);//函数声明


 3:写main主函数

​
#include "stm32f10x.h"
#include "main.h"
#include "led.h"


int  main()
{

//1。初始化灯的引脚GPIOA1
	LED_Init();
	
		 

   while(1)
	 {

  //2.让GPIOA1输出低电平,灯就亮了
	GPIO_ResetBits(GPIOA,GPIO_Pin_1);
		 
	 }
		 
   
}



​

三:让LED灯实现一秒闪烁

我们使用软件延时 粗延时

#include "stm32f10x.h"
#include "main.h"
#include "led.h"


void delay(uint16_t time)//延时1ms  软件延时粗延时
{
	uint16_t i=0;
	while(time --)
	{
		i=12000;
		while(i --);
	}
	
}


int  main()
{

//1。初始化灯的引脚GPIOA1

	LED_Init();
		 

   while(1)
	 {

  
		GPIO_ResetBits( GPIOA, GPIO_Pin_1);//2.让GPIOA1输出低电平,灯就亮了
		delay(1000); //亮一秒钟
		GPIO_SetBits( GPIOA, GPIO_Pin_1); //让GPIOA1输出高电平,灯就灭了
		delay(1000); //灭一秒钟
	 }
		 
   
}


相关文章:

  • 修改nginx配置,同一台服务器部署多个前端项目
  • [C语言笔记]07、数组
  • 阿里云操作系统控制台评测:国产AI+运维 一站式运维管理平台
  • 心脏扩散张量成像中的异常值检测:是剔除异常测量值还是采用稳健拟合方法?|文献速递-医学影像人工智能进展
  • 基于SpringBoot+Vue的社区物业管理平台+LW示例参考
  • 【开题报告+论文+源码】基于Javaweb的水果超市管理系统
  • 零基础使用鸿蒙NDK开发最简步骤
  • 鸿蒙版Flutter快递查询助手
  • [oeasy]python073_下划线在python里是什么含义_内部变量_私有变量_系统变量
  • DeepSeek本地化部署(DeepSeek+olloma+Dify)
  • vmware虚拟机中Ubuntu系统磁盘扩容
  • 《Generative Adversarial Nets》-GAN:生成对抗网络,一场伪造者与鉴定师的终极博弈
  • 深度学习——同一台电脑使用ssh配置多个github账号
  • LLM - 白话向量模型和向量数据库
  • CI/CD
  • 【Qt】supervisorctl进程管理:启动、重启、环境设置
  • 求阶乘的和(信息学奥赛一本通-1091)
  • 蛋白质功能预测论文阅读记录2025(DPFunc、ProtCLIP)
  • L2-4 吉利矩阵
  • 【小白向】Ubuntu|VMware 新建虚拟机后打开 SSH 服务、在主机上安装vscode并连接、配置 git 的 ssh
  • 我国将出台稳就业稳经济推动高质量发展若干举措,将根据形势变化及时出台增量储备政策
  • 新任浙江省委常委、杭州市委书记刘非开展循迹溯源学习调研
  • 财政部下达农业生产防灾救灾资金3.76亿元,支持黄淮海等地抗旱保春播
  • 持续更新丨伊朗港口爆炸事件已致561人受伤
  • 饶权已任国家文物局局长
  • 湖南娄底市长曾超群,已任娄底市委书记