【STM32】GPIO之LED

   日期:2020-08-22     浏览:94    评论:0    
核心提示:00. 目录文章目录00. 目录01. STM32F4 IO简介02. 控制原理03. 程序示例一04. 程序示例二05. 程序示例三06. 附录07. 声明01. STM32F4 IO简介参考:【STM32】GPIO概述02. 控制原理硬件只有 LED(DS0 和 DS1)。其电路在 ALIENTEK 探索者 STM32F4 开发板上默认是已经连接好了的。DS0 接 PF9,DS1 接 PF10。对应的引脚为低电平的时候LED就亮,否则LED就灭。03. 程序示例一所有LED灭int

00. 目录

文章目录

    • 00. 目录
    • 01. STM32F4 IO简介
    • 02. 控制原理
    • 03. 程序示例一
    • 04. 程序示例二
    • 05. 程序示例三
    • 06. 附录
    • 07. 声明

01. STM32F4 IO简介

参考:【STM32】GPIO概述

02. 控制原理

硬件只有 LED(DS0 和 DS1)。其电路在 ALIENTEK 探索者 STM32F4 开发板上默认是已经连接好了的。DS0 接 PF9,DS1 接 PF10。

对应的引脚为低电平的时候LED就亮,否则LED就灭。

03. 程序示例一

所有LED灭

int main(void)
{
	GPIO_InitTypeDef gpio_InitTypeDef;
	
	gpio_InitTypeDef.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
	gpio_InitTypeDef.GPIO_Mode = GPIO_Mode_OUT;
	gpio_InitTypeDef.GPIO_Speed = GPIO_Speed_100MHz;
	gpio_InitTypeDef.GPIO_OType = GPIO_OType_PP;
	gpio_InitTypeDef.GPIO_PuPd = GPIO_PuPd_UP;
	
	
	delay_init(168);
	

	//1. 初始化GPIO的时钟
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
	
	//2. 初始化GPIO
	GPIO_Init(GPIOF, &gpio_InitTypeDef);
	
	//3. 设置高电平
	GPIO_SetBits(GPIOF, GPIO_Pin_9 | GPIO_Pin_10);

	return 0;
}

04. 程序示例二

所有的LED亮

int main(void)
{
	GPIO_InitTypeDef gpio_InitTypeDef;
	
	gpio_InitTypeDef.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
	gpio_InitTypeDef.GPIO_Mode = GPIO_Mode_OUT;
	gpio_InitTypeDef.GPIO_Speed = GPIO_Speed_100MHz;
	gpio_InitTypeDef.GPIO_OType = GPIO_OType_PP;
	gpio_InitTypeDef.GPIO_PuPd = GPIO_PuPd_UP;
	
	
	delay_init(168);
	

	//1. 初始化GPIO的时钟
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
	
	//2. 初始化GPIO
	GPIO_Init(GPIOF, &gpio_InitTypeDef);
	
	//3. 设置低电平
	//GPIO_ResetBits(GPIOF, GPIO_Pin_9 | GPIO_Pin_10);
    
	return 0;
}

05. 程序示例三

LED闪烁

#include "stm32f4xx.h"

#include "delay.h"

int main(void)
{
	GPIO_InitTypeDef gpio_InitTypeDef;
	
	gpio_InitTypeDef.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
	gpio_InitTypeDef.GPIO_Mode = GPIO_Mode_OUT;
	gpio_InitTypeDef.GPIO_Speed = GPIO_Speed_100MHz;
	gpio_InitTypeDef.GPIO_OType = GPIO_OType_PP;
	gpio_InitTypeDef.GPIO_PuPd = GPIO_PuPd_UP;
	
	
	delay_init(168);
	

	//1. 初始化GPIO的时钟
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);
	
	//2. 初始化GPIO
	GPIO_Init(GPIOF, &gpio_InitTypeDef);
	
	//3. LED闪烁
	while(1)
	{
		//灭
		GPIO_SetBits(GPIOF, GPIO_Pin_9 | GPIO_Pin_10);
		delay_ms(1000);
		
		//亮
		GPIO_ResetBits(GPIOF, GPIO_Pin_9 | GPIO_Pin_10);
		delay_ms(1000);
	}
	
	
	return 0;
}

06. 附录

6.1 【STM32】STM32系列教程汇总

网址:【STM32】STM32系列教程汇总

07. 声明

该教程参考了正点原子的《STM32 F4 开发指南》

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服