STM32F103四种方法实现的LED闪灯程序
本程序为点亮两个LED,分别为LED1和LED2,分别连接到几口GPIOB的0脚和1脚。
因此首先对GPIOB的0脚和1脚机型初始化。
先创建LED的驱动程序, LED.H和 LED.C
LED.H
#ifndef __LED_H
#define __LED_H
#include "sys.h"//#define LED1 PBout(0)// PB0
//#define LED2 PBout(1)// PB1
#define LEDPORT GPIOB //定义LED的IO接口
#define LED1 GPIO_Pin_0 //定义LED1 的IO接口
#define LED2 GPIO_Pin_1 //定义LED2 的IO接口void LED_Init(void);//初始化
#endif
LED.C
#include "led.h"void LED_Init(void){ //LED灯的接口初始化GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE); //设置A,B,C三个端口使能时钟 GPIO_InitStructure.GPIO_Pin = LED1 | LED2; //选择端口号(0,1号端口) GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置IO接口工作方式为推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置IO接口速度50MHzGPIO_Init(LEDPORT, &GPIO_InitStructure);
}/*
选择IO接口工作方式:
GPIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD 下拉输入
GPIO_Mode_IPU 上拉输入
GPIO_Mode_Out_PP 推挽输出
GPIO_Mode_Out_OD 开漏输出
GPIO_Mode_AF_PP 复用推挽输出
GPIO_Mode_AF_OD 复用开漏输出
*/
创建MAIN程序
main.c
#include "stm32f10x.h" //STM32头文件
#include "sys.h"
#include "delay.h"
#include "led.h"int main (void){//主程序RCC_Configuration(); //时钟设置LED_Init();while(1){//方法1:GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1)); //LED1接口输出高电平1delay_us(50000); //延时1秒GPIO_WriteBit(LEDPORT,LED1,(BitAction)(0)); //LED1接口输出低电平0delay_us(50000); //延时1秒//方法2:
// GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1-GPIO_ReadOutputDataBit(LEDPORT,LED1))); //取反LED1
// delay_ms(500); //延时1秒//方法3:
// GPIO_SetBits(LEDPORT,LED1); //LED灯都为高电平(1)
// delay_s(1); //延时1秒
// GPIO_ResetBits(LEDPORT,LED1); //LED灯都为低电平(0)
// delay_s(1); //延时1秒//方法4
// GPIO_Write(LEDPORT,0x0001); //直接数值操作将变量值写入LED
// delay_s(2); //延时1秒
// GPIO_Write(LEDPORT,0x0000); //直接数值操作将变量值写入LED
// delay_s(2); //延时1秒}
}
STM32F103四种方法实现的LED闪灯程序相关推荐
- 转:让程序只运行一个实例的四种方法
先留着以后有用. 让程序只运行一个实例的四种方法 综述:让一个程序只运行一个实例的方法有多种,但是原理都类似,也就是在程序创建前,有窗口的程序在窗口创建前,检查系统中是否已经设置了某些特定标志了,如果 ...
- Qt延时处理的四种方法
Qt延时处理的四种方法 这里提供四种方法: 1. 多线程程序使用QThread::sleep()或者QThread::msleep()或QThread::usleep()或QThread::wait( ...
- 【51单片机入门】实现流水灯的原理及四种方法(详细易上手型)
初学单片机,流水灯的实现是必不可少的,下面将介绍流水灯的原理及使用STC-ISP软件延时计算器生成的延时代码实现流水灯的四种方法,最后介绍如何将延时函数模块化. 目录 一.流水灯原理 二.循环 三.移 ...
- java 中lock,java中lock获取锁的四种方法
在java接口中会存放着许多方法,方便线程使用时的直接调用.对于lock接口大家都不陌生,我们已经初步对概念进行了理解.那么在获取锁的方法上想必还不是很清楚.下面我们就lock获取锁的四种方法分别进行 ...
- 简单介绍C语言使用四种方法初始化结构体
这篇文章说明了什么是结构体,介绍了结构体的概念和使用优点,在C语言中如何使用和初始化结构体方法,通过详细的代码展开进行说明,希望该篇文章对你有所帮助 什么是结构体 在实际问题中,一组数据往往有很多种不 ...
- svg鼠标响应事件的四种方法(其中两种可支持火狐)
svg鼠标响应事件的四种方法 鼠标响应事件的四种方法,以click事件为例. Mouse Events - SMIL <?xml version="1.0" encoding ...
- oracle调整字段精度的四种方法
oracle调整字段精度的四种方法: 01_执行用户_ddl/dml_表名_注释(建表/授权/同义词) 调整方式一:(精度只能调大不能调小) alter table table_name_a MODI ...
- (转).NET导出Excel的四种方法及评测
.NET导出Excel的四种方法及评测 导出Excel是.NET的常见需求,开源社区.市场上,都提供了不少各式各样的Excel操作相关包.本文,我将使用NPOI.EPPlus.OpenXML.Aspo ...
- 详解Java解析XML的四种方法
http://developer.51cto.com 2009-03-31 13:12 cnlw1985 javaeye 我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...
最新文章
- SQL中游标的使用(转)
- Go_笔试题记录-指针与值类型实现接口的区别
- python发邮件实例_python 发送邮件实例
- 微信已经老了,头条永远年轻
- 计算机组成原理—存储系统总结
- python-下拉框处理
- php 调试环境配置
- 软件测试——JUnit基础
- 新华三计算机网络题,计算机等考试三网络技术模拟试题及答案(二)云南新华电脑学校.doc...
- 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.11
- 【C语言及程序设计】项目1-4-2-4:计算圆柱体表面积
- 【开始报名】第二届中国移动“梧桐杯”大数据应用创新大赛邀你夺52w大奖
- 书香小说APP界面设计
- Web 开发中地图使用——高德地图定位功能
- NOIP模拟赛8.16 C、长跑(LCT)
- 服务器搭建——ftp
- 区块链、NFT与元宇宙中的稀缺性技术
- 智慧高速再“提速”,数字化+智能化成建设焦点
- 惠普服务器是什么芯片,惠普将首次在服务器中应用AMD的Opteron芯片
- 12-属性动画源码分析
热门文章
- Pandas: Python界的Excel
- Mkdocs配置教程
- 浅显易懂地看LLC变换器(四)
- java gif合成_javacv之于视频/GIF解帧及重新拼接生成GIF实现
- 宝钢集团通知全体员工卸载360软件
- Android如何设计一个H5容器
- 2021-2027全球与中国机械控制系统市场现状及未来发展趋势
- diy物联网-1.物联网控制器的网络配置与更换网络
- 关于微信跳转,这里有你想知道的一切weixin://dl/business/?ticket=td9cd0bf056c561fe9f56e33c61df61bf...
- 计算机软件科学专利,计算机软件专利有哪些