文档章节

stm32笔记:GPIO的的配置和操作(1)推挽输出方式

 卤煮小鱼
发布于 2016/04/12 23:54
字数 177
阅读 56
收藏 0

封装端口输出高低电平控制LED显示:

以下方式便于修改。

LED.h

#ifndef __LED_H
#define	__LED_H

#include "stm32f10x.h"
#define GPIO_PIN_LED1  GPIO_Pin_3  //PC.3
#define GPIO_PIN_LED2  GPIO_pin_4  //PC.4
#define GPIO_PIN_LED3  GPIO_pin_5  //PB.5
#define GPIO_LED      GPIOC

#define GPIO_PIN_LED_ALL  GPIO_PIN_LED1\
        |GPIO_PIN_LED2|GPIO_PIN_LED3

#define RCC_LED      RCC_APB2Periph_GPIOC //时钟配置
                       
#define ON  0   
#define OFF 1

#define LED1(a)	if (a)	\
					GPIO_SetBits(GPIO_LED1,GPIO_PIN_LED1);\
					else		\
					GPIO_ResetBits(GPIO_LED1,GPIO_PIN_LED1)

#define LED2(a)	if (a)	\
					GPIO_SetBits(GPIO_LED2,GPIO_PIN_LED2);\
					else		\
					GPIO_ResetBits(GPIO_LED2,GPIO_PIN_LED2)

#define LED3(a)	if (a)	\
					GPIO_SetBits(GPIO_LED3,GPIO_PIN_LED3);\
					else		\
					GPIO_ResetBits(GPIO_LED3,GPIO_PIN_LED3)

void LED_GPIO_Config(void);

#endif /* __LED_H */
LED.C
#include "led.h"

/*
 * 函数名:LED_GPIO_Config
 * 描述  :配置LED用到的I/O口
 * 输入  :无
 * 输出  :无
 */
void LED_GPIO_Config(void)
{
	  GPIO_InitTypeDef GPIO_InitStructure;
	  RCC_APB2PeriphClockCmd( RCC_LED, ENABLE);

  	GPIO_InitStructure.GPIO_Pin = GPIO_PIN_LED_ALL;	
  	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;       
  	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  	GPIO_Init(GPIO_LED, &GPIO_InitStructure);
}




© 著作权归作者所有

粉丝 0
博文 15
码字总数 7973
作品 0
松江
私信 提问
STM32学习笔记-点亮第一个led

首先感谢河北科技大学航模协会-能给我这样的学习机会-感谢那些带我们教我们的学长学姐们. 点亮第一个led灯之前要先大概了解一下单片机的工作方式并且有一定的编程基础,能看懂程序 单片机上有...

qq_18984151
2018/03/18
0
0
stm32的IO模式说明

一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个...

peng_258
2017/10/24
0
0
STM32中GPIO的八种工作模式

每次做项目,针对硬件工程师给出的电路图,都需要选择不同的GPIO模式,没有深究,总是记不住。以下为记录的资料,方便之后查阅。 对于GPIO的配置种类有8种: (1)GPIOModeAIN 模拟输入 (2...

qq_34660409
2018/05/05
0
0
使用STM32固件库函数操作控制LED灯

直接使用寄存器地址来进行STM32开发要对每一个寄存器的地址通过查找芯片手册,对每一个寄存器的各个位的含义也要查清楚,然后决定对那个地址的哪些位进行怎样的设置。这种编程效率低,程序的...

fanxp66
2018/05/06
0
0
STM32 GPIO口基本结构和工作方式

上拉是一个电阻接到电压,其实就是增强IO的驱动能力,下拉是一个电阻接到地,保证IO口是低电平。 以上所有内容为笔记整理,其中有部分内容来自网络文章,若有侵权,请告知,作者会删除。

huhaoxuan2010
2018/05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android 图片加载带进度条的ImageView

https://blog.csdn.net/shu_quan/article/details/79975578

shzwork
11分钟前
2
0
关于XAMPP默认端口80 和443被占用的问题

本文转载于:专业的前端网站➩关于XAMPP默认端口80 和443被占用的问题 关于安装xampp-win32-1.8.1-VC9-installer.zip后启动时候报端口80和443被占用的问题解决 xampp-win32-1.8.1-VC9-instal...

前端老手
13分钟前
4
0
错误Setting the parent of a transform which resides in a Prefab Asset is...

错误日志 Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption 原因1 用Resouce.Load加载一个prefab,没有实例化直接设置parent ......

XBlock
14分钟前
4
0
Spring boot 配置mybatis

当然任何模式都需要首先引入mybatis-spring-boot-starter的pom文件,现在最新版本是1.1.1(刚好快到双11了 :)) <dependency>    <groupId>org.mybatis.spring.boot</groupId>    <......

雷开你的门
15分钟前
5
0
云栖干货回顾 | 更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读

阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。AnalyticDB PG通过行存...

开源中国小二
27分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部