1.Stm32F407系列之点亮LED灯

2023-05-16

点灯大师已上线!

我们在测试一个开发板的好坏,或者是验证一些小功能模块是否起作用的时候,最简单的方法就是打印输出或者是用LED灯指示。

想要控制LED灯的亮和灭,只要我们配置好IO口,控制IO口的高低电平,即可闪烁LED灯!

led.c文件:

#include "led.h" 
//初始化PA6,A7为输出口.并使能这两个口的时钟

//LED IO初始化
void LED_Init(void)
{    	 
  GPIO_InitTypeDef  GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能GPIOA时钟

  //GPIOA6,A7初始化设置
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;//LED0和LED1对应IO口
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIO
	
	GPIO_SetBits(GPIOA,GPIO_Pin_6 | GPIO_Pin_7);//GPIOA6,A7设置高,灯灭

}

led.h文件:

#ifndef __LED_H
#define __LED_H
#include "sys.h"

//LED端口定义
#define LED0 PAout(6)	// DS0
#define LED1 PAout(7)	// DS1	 

void LED_Init(void);//初始化		 				    
#endif

main.c:可以通过自己定义的 或者 GPIO_ResetBits();和GPIO_SetBits();来控制关于LED灯IO口的高低电平,从而能够闪烁或者按照自己的想法点亮和熄灭。

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"

int main(void)
{ 
 
	delay_init(168);		  //初始化延时函数
	LED_Init();		        //初始化LED端口

	while(1)
	{
		LED1 = 1;
		delay_ms(500);
		LED1 = 0;
		delay_ms(500);
//	GPIO_ResetBits(GPIOA,GPIO_Pin_6);    //LED0对应引脚GPIOF.9拉低,亮  等同LED0=0;
//	GPIO_SetBits(GPIOA,GPIO_Pin_7);   //LED1对应引脚GPIOF.10拉高,灭 等同LED1=1;
//	delay_ms(500);  		   //延时300ms
//	GPIO_SetBits(GPIOA,GPIO_Pin_6);	   //LED0对应引脚GPIOF.0拉高,灭  等同LED0=1;
//	GPIO_ResetBits(GPIOA,GPIO_Pin_7); //LED1对应引脚GPIOF.10拉低,亮 等同LED1=0;
//	delay_ms(500);                     //延时300ms
	}
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1.Stm32F407系列之点亮LED灯 的相关文章

  • 写delete时遇到的问题

    在写delete的时候会跳出错误 ConsoleApplication1 exe Win32 已加载 C Windows SysWOW64 ntdll dll 无法查找或打开 PDB 文件 ConsoleApplication1 exe W
  • 宏定义可以自增自减吗?(带题讲解,并总结C语言数据类型可自加自减的)

    不可以 通过实验我们可以得出double型数据可以自加 xff0c 且每次变化为1 在宏定义下自加出现了错误 xff0c 如下 xff1a 总结int char double float 都可进行自加自减运算
  • Linux下将当前目录下的某个文件复制到指定文件夹

    cp filename home directory 即cp 文件名 目标文件夹的绝对路径 批量复制 cp filename1 filename2 filename3 home directory 即cp 文件1名 文件2名 文件3名 目标
  • centos的命令行个性化配置

    centos的命令行个性化配置 cd root 进入配置文件 vim bashrc 在末行输入 PS1 61 34 debian chroot 43 debian chroot e 32 1m u e 0m 64 h e 34 1m w e
  • 数据库作业:数据查询 连接查询

    若一个查询同时涉及两个以上的表 xff0c 称之为连接查询 连接查询是数据库中最主要的查询 xff0c 包括等值连接查询 xff0c 自然连接查询 xff0c 自身连接查询等 一 等值和非等值连接查询 1 1连接查询的WHERE子句中用来连
  • Ubuntu20.04安装arm-linux-gcc

    我安装的版本是arm linux gcc 4 6 4 xff0c 并且是64位的 在windows系统中把arm linux gcc 4 6 4 arm x86 64 tar bz2压缩包放在跟Ubuntu虚拟机的共享目录下在Ubuntu2
  • OSI七层模型总结

    OSI Open System Inter Connection 开放系统互联模型 定义了不同计算机互联的标准 xff0c 设计和描述了计算机网络通信的框架 OSI有7层和5层两种模型 xff0c 7层模型从上往下分别是 xff1a 应用层
  • 23种Python设计模式之工厂方法模式详解

    x1f496 作者 xff1a 大家好 xff0c 我是阿旭 x1f61c x1f389 支持我 xff1a 点赞 x1f44d 收藏 留言 x1f4dd x1f4e3 系列专栏 xff1a 23种设计模式详解 Python x1f341
  • STM32F103C8T6驱动SG90舵机--通过延时

    前言 最近博主在尝试驱动SG90舵机的时候 xff0c 发现网上教程都是通过定时器的方式 xff0c 还要进行各种配置 xff0c 太麻烦了 xff0c 于是自己用延时简单写了一下 xff0c 也能用 舵机的控制 舵机控制就是需要一个20m
  • MyBatis-Plus 分页设置不生效

    分页不生效的原因都是拦截器的问题 添加拦截器有两种情况 在配置类上加拦截器 64 Configuration public class MyBatisPlusConfig 新增分页拦截器 xff0c 并设置数据库类型为mysql 64 Be
  • 【关于使用SpringJUnit4ClassRunner单元测试报错问题】

    关于使用SpringJUnit4ClassRunner单元测试报错问题 今天单元测试如下的代码的时候发现项目老是报错 xff1a package com yhb jsxn service import java text SimpleDat
  • Arch linux使用yay安装软件时有效性检查错误

    错误 xff1a 一个或多个文件没有通过有效性检查 span class token operator 61 61 span span class token operator gt span 正在验证 span class token b
  • 无人驾驶(四)---远程桌面控制工具: NoMachine踩坑记录

    NoMachine for mac是一款免费的远程桌面访问工具 xff0c 这款软件的连接到远程桌面后延迟可以非常低 xff0c NX协议在高延迟低带宽的链路上提供了近乎本地速度的响应能力 xff0c 打破空间和时间的障碍 xff0c 让您
  • ubuntu 20.04安装配置ssh远程服务中出现的一些问题及总结

    0 安装配置过程参考 56条消息 ubuntu20 04开启SSH远程登录 从此开始低调范 的博客 CSDN博客 ubuntu开启ssh远程登录 1 输入sudo apt get install openssh server提示Readin
  • OSPF综合实验配置

    1 R4为ISP 其他只能配置IP地址 xff0c R4与其他所有直连设备间使用公有IP 与R4相连的路由器R3 5 6 7都要做NAT 保证底层私网能ping通公网 xff1b R4直连的路由器有缺省指向R4 xff0c 每台路由器都要有
  • 双向重发布--路由策略实验报告

    题目要求 xff1a 1 两个协议间进行多点双向重发布 2 R7环回没有宣告在OPSF中 xff0c 而是后期重发布进入 xff1b 3 解决环路 xff0c 所有路径选择最优 xff0c 且存在备份 一 配置底层IP地址 R3 int g
  • VLAN实验

    实验拓扑 实验配置 1 将接口划入vlan 2 配置路由器 xff0c 通过池塘下发地址 测试 pc2可以访问pc4 pc5 pc6 pc5不能访问pc6 pc1可以访问2 4 5 6
  • TCP三次握手四次挥手(图解)

    TCP三次握手 TCP连接的建立是一个三次握手的过程 如图所示 xff1a 主机A xff08 通常也称为客户端 xff09 发送一个标识了SYN的数据段 xff0c 表示期望与服务器A建立连接 xff0c 此数据段的序列号 xff08 s
  • kali换源详细步骤

    1 进入sources list文件编辑模式 2 把kali原有的源注释掉 xff0c 把阿里源放进去 deb span class token property https span span class token punctuatio
  • C/C++中的1<<n什么意思?

    1 lt lt 2 1的二进制是00000001 lt lt 意思是将二进制编码向左移动2位并将空位补0 即00000001转化为00000100 61 4 同理 1 gt gt n 为将二进制码向右移动n位

随机推荐