IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 点亮stm32开发板的led灯 -> 正文阅读

[嵌入式]点亮stm32开发板的led灯

点亮stm32开发板的led灯

简述
我使用的是STM公司stm32f103系列开发板,我们通过看原理图,对LED进行操作,以实现led灯的控制。(对于小白来说很有作用哈!废话不说,上料!)

1.查看开发文档,看led的电路图
以我的开发板为例(看图!):

各位小白!大家首先看一下电路图,是不是我们给它一个低电平,这个LED0或LED1会亮呢?当然,没毛病。所以,我们必须设置低电平让LED亮起来,设置高电平,它就会灭。(有函数控制,后面会说)
哦,对了。我们还需要看一下连接引脚图。如下:

LED0对应GPIOB5管脚
LED0
LED1对应GPIOE5管脚
LED1
2.使用软件keil编写代码
对于keil软件的使用就不详说,不懂就去学,这篇文章的重点不在于帮你搞软件。
编写步骤:
1.建立一个led.c和led.h文件
源文件我们对它进行初始化配置;头文件对它进行声明;
代码后边有注解,看不懂就留言,我来给你强行解释。

头文件如下:

#ifndef _LED_h   //这种写法你们要熟记于心
#define _LED_h

#include "stm32f10x.h"  
#include "system.h"  

void LED_Init(void);//初始化函数

#endif

源文件如下:

#include "LED.h"
#include "SysTick.h"

void LED_Init()         //LED的初始化函数
{
	GPIO_InitTypeDef GPIO_InitStructure;  //定义结构体,配置IO口的状态
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOA,ENABLE);   //开启系统时钟,因为stm32f103系列中GPIO挂接在APB2总线上,如果大家不会写,就go to define,第二个参数我们就使能它enable;
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; //配置引脚,因为上图中都是5号引脚
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//配置推挽输出模式,
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//设置输出速度
	
	GPIO_Init(GPIOB,&GPIO_InitStructure);   //初始化GPIOB
	GPIO_Init(GPIOE,&GPIO_InitStructure);   //初始化GPIOE
	
	GPIO_SetBits(GPIOB, GPIO_Pin_5);        //设置LED0为高电平
	GPIO_SetBits(GPIOE, GPIO_Pin_5);        //设置LED1为高电平
	
}


void LED_l()  //LED灯的亮灭实现函数
{
	
	while(1)					//死循环
	{
		ledg=0;					//绿灯亮
		ledr=1;					//红灯灭
		delay_ms(500);
		ledr=0;					//绿灯灭
		ledg=1;					//红灯亮
		delay_ms(500);			//系统延时函数
	}
}



附录
1.这时候大家肯定有疑惑,ledg是个啥鬼?ledg是我宏定义的,(哈哈,想白嫖,不可能。)
2.GPIO_SetBits(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin),这是设置高电平函数。
3.GPIO_ResetBits(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin)
,这是设置低电平函数。
4.我们也可以用这两个函数来控制灯的亮灭,实现起来很简单,你们就调用这两个函数
5.对于延时函数来说。如果没接触过晶振,我可以给大家一个比较接近1秒的数字。那就是来一个576次循环。比如for(int i=1;i<576;i++);
6.记着要多实操哈!

我个人认为:
所有的功能实现无非就是我对它这块空间的操作而已。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:03:16  更:2021-10-01 17:03:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:25:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码