STM32f4 GPIO的基础使用-流水灯

发布者:龙爱泉也最新更新时间:2021-02-22 来源: eefocus关键字:STM32f4  GPIO  流水灯 手机看文章 扫描二维码
随时随地手机看文章

#include

#include


void show(void)

{

int a,b;

for(a=2000;a>0;a--)

for(b=1200;b>0;b--);

}

int main(void)

{

GPIO_InitTypeDef  GPIO_InitStructure;

//使能GPIOF组引脚的时钟

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);

//使能GPIOE组引脚的时钟

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);

  //配置引脚初始化参数

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_13 | GPIO_Pin_14;

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;

  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

  GPIO_Init(GPIOF, &GPIO_InitStructure);

  GPIO_Init(GPIOE, &GPIO_InitStructure);

while(1)

{

//让F9输出低电频

GPIO_ResetBits(GPIOF,GPIO_Pin_9);

show();

//让F9输出高电频

GPIO_SetBits(GPIOF,GPIO_Pin_9);

//让F10输出低电频

GPIO_ResetBits(GPIOF,GPIO_Pin_10);

show();

//让F10输出高电频

GPIO_SetBits(GPIOF,GPIO_Pin_10);

//让F13输出低电频

GPIO_ResetBits(GPIOE,GPIO_Pin_13);

show();

//让F9输出高电频

GPIO_SetBits(GPIOE,GPIO_Pin_13);

//让F10输出低电频

GPIO_ResetBits(GPIOE,GPIO_Pin_14);

show();

//让F10输出高电频

GPIO_SetBits(GPIOE,GPIO_Pin_14);

}

}


这是最基础的GPIO应用(流水灯),初学者一定记住使用那组引脚必须使能该组引脚时钟,再今后的定时器,串口也是一样;


关键字:STM32f4  GPIO  流水灯 引用地址:STM32f4 GPIO的基础使用-流水灯

上一篇:STM32F4关于DMA传输向GPIO口的开发
下一篇:STM32F4外部GPIO中断源使用笔记

推荐阅读最新更新时间:2024-11-11 12:24

【Keil5 C51】AT89C52 做流水灯实验(调用C51的库函数_crol_)
_crol_ 函数的介绍 Cx51 User’s Guide Summary #include intrins.h unsigned char _crol_ ( unsigned char c, /* character to rotate left */ unsigned char b); /* bit positions to rotate */ Description The _crol_ routine rotates the bit pattern for the character c left b bits. This routine is implemented as an intrin
[单片机]
【Keil5 C51】AT89C52 做<font color='red'>流水灯</font>实验(调用C51的库函数_crol_)
STM32F407 Flash操作笔记
简述 STM32F4XX的闪存擦除方式分为两种:扇区擦除(最小单元16K)和整片擦除。在实际应用中,为满足重要信息的存储,需将信息存入FLASH中,针对以上两种擦除方式,扇区擦除更符合实际的需要。 参考手册: 写FLASH操作 经过以上五个步,就可以擦除某个扇区。但是实际运用过程中,一个扇区只存储一个信息或标志,会造成资源严重浪费。现采用缓存的方式,先读取当下扇区的数据,将读取的数据和要写入的数据组合,待擦除后再次写入。 代码片 写FLASH操作 /* * WriteAddr: 起始地址 (u32)address 是 4 的整数倍, (u32)data * pBuffer: 数据指针
[单片机]
<font color='red'>STM32F4</font>07 Flash操作笔记
STM32学习之:GPIO最简单操作步骤
需用到的 .c 库函数为 stm32f10x_gpio.c 和stm32f10x_rcc.c 1. 启动相应Port x的RCC(复位始终控制) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE); x可以是A到G , GPIO都由APB2(高速外设)时钟控制 2. GPIO初始结构中的三个参数赋值(该结构名需程序前定义: GPIO_InitTypeDef GPIO_InitStructure; ) 三个参数分别为 引脚:GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin
[单片机]
MSP430F5529 DriverLib 库函数学习笔记(二)GPIO
平台:Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) 硬知识 一、MSP430单片机端口概述 通用I/O端口是MSP430单片机最重要也是最常用的外设模块。通用I/O端口不仅可以直接用于输入/输出,而且可以为MSP430单片机应用系统提供必要的逻辑控制信号。 MSP430F5xx/6xx系列单片机最多可以提供12个通用I/O端口(P1~P11和PJ),大部分端口有8个引脚,少数端口引脚数少于8个。每个I/O引脚都可以被独立地设置为输入或者输出引脚,并且每个I/O引脚都可以被独立地读取或者
[单片机]
MSP430F5529 DriverLib 库函数学习笔记(二)<font color='red'>GPIO</font>
基于Proteus的LPC2106流水灯程序和仿真 测试成功
基于proteus的LPC2106流水灯程序,可以运行,良心程序.测试成功 仿真原理图如下: LPC2106流水灯源程序如下: /****************************************************************************** *File:Main.c *功能:LED闪烁控制。对发光二极管进行控制,采用软件延时方法 * 使用I/O口直接控制LED,采用灌电流方式 ******************************************************************************/ #include config.h #de
[单片机]
基于Proteus的LPC2106<font color='red'>流水灯</font>程序和仿真 测试成功
用51单片机点亮流水灯
1. 直接按位操作一个一个点亮 #include reg51.h //头文件 sbit LED0=P2^0; //位定义单片机接LED灯的端口 sbit LED1=P2^1; sbit LED2=P2^2; sbit LED3=P2^3; sbit LED4=P2^4; sbit LED5=P2^5; sbit LED6=P2^6; sbit LED7=P2^7; void delay()//延时函数 { unsigned char a,b; for(a=0;a 200;a++) for(b=0;b 200;b++); } void main()//主函数 { while(1) { LED0
[单片机]
STM32F407玩控制—自适应模糊PID控制
自适应模糊PID控制的原理如图1所示,从图中可以看出对偏差和偏差变化率进行模糊推理,获得Δkp、Δki、Δkd,模糊控制器的PID参数实际值为:kp=kp0+qp*Δkp、ki=ki0+qi*Δki、kd=kd0+qd*Δkd,其中qp、qi、qd为比例因子,这是比较常见的一种计算方式,但在薛定宇的《控制数学问题的MATLAB求解》一书中讲了另外一种计算方式:kp(k)=kp(k-1)+γ(k)*Δkp、ki(k)=ki(k-1))+γ(k)*Δki、kd(k)=kd(k-1)+γ(k)*Δkd,显然这种计算方式更复杂,我们这里采用前者,为了进行模糊推理,需要确定模糊规则表和各个模糊变量的隶属度函数,常见的模糊规则表如图2所示,我
[单片机]
用<font color='red'>STM32F4</font>07玩控制—自适应模糊PID控制
用C语言编写单片机流水灯程序
  用C语言编写的单片机流水灯程序的软件和硬件,可以让八个LED轮流点亮,每个灯点亮和熄灭时间均为1秒。是利用单片机I/O口控制外部设备的简单例子。当然,在你掌握了本程序后,完全可以充分发挥你的想象,改变一下程序内容和灯的接法(比如用光耦驱动继电器来控制霓虹灯),做出各种变化非凡的大型灯光广告牌。      一、硬件电路      因为电路用单片机控制,所以电路非常简洁。其电路原理图见下图,印制板图如下图所示。          电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口,我们这里只用到Pl口,共8个引脚。图中Cl、R9组成典型的上电复位(即在加电时单片机复位)电路,XTAL、C2、C3与A
[单片机]
用C语言编写单片机<font color='red'>流水灯</font>程序
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved