在STM32中配置片内外设使用I/O端口

2019-07-19来源: eefocus关键字:STM32  配置  片内外设  I  O端口

首先,必须配置和激活启动该外设的时钟,比如使用PB2的引脚前,必须激活GPIOB的时钟,只有启动时钟后,这个外设才能变得可用。


下一步根据具体功能,对外设进行设置和配置,这样需要用到的外设才被激活,不需要的无需初始化,能够降低功耗。


配置引脚模式?对应到外设的输入输出功能基本有三种情况


1、引脚输出:根据外围电路的配置选择对应的引脚为复用功能的推挽输出或复用功能的开漏输出。


2、引脚输入:根据外围电路的配置可以选择浮空输入、带上拉电阻或下拉电阻的输入。


3、ADC对应的引脚:配置引脚为模拟输入


PS.如果把端口配置成复用输出功能,则该引脚与它当前连接的信号电路断开,与复用功能信号电路连接。所以如果只激活该引脚的GPIO端口的时钟,而不把复用功能的时钟激活,输出将会不确定。



关键字:STM32  配置  片内外设  I  O端口 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic468594.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32为什么必须先配置时钟
下一篇:基于STM32的外设的GPIO外设设置总结

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32流水灯(基于库函数)
,GPIO_Pin_5);/ /PE.5 输出高}该代码里面就包含了一个函数 void LED_Init(void),该函数的功能就是用来实现配置 PB5和 PE5 为推挽输出。 这里需要注意的是: 在配置 STM32 外设的时候,任何时候都要先使能该外设的时钟。 GPIO 是挂载在 APB2 总线上的外设, 在固件库中对挂载在 APB2 总线上的外设时钟使能是通过函数 RCC_APB2PeriphClockCmd()来实现的。LED.h程序代码书写#ifndef __LED_H#define __LED_H#include "sys.h"//LED 端口定义#define LED0 PBout
发表于 2019-10-21
stm32入门——跑马灯(基于stm32f103zet6)
的驱动都要使能相应的时钟,首先看stm32系统的时钟框图经查阅资料可知,GPIO的时钟在APB2的外设时钟使能寄存器上,相关函数的定义在stm32f10x_rcc.h中 void   RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)其源代码为:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState){  /* Check the parameters */ //检查值的有效性&nbs
发表于 2019-10-21
stm32入门——跑马灯(基于stm32f103zet6)
STM32流水灯的几种实现方法
#include “stm32f10x.h”void RCC_Configuration(void);//2void GPIO_Configuration(void);//GPIOvoid Delay(u32 count){u32 i=0;for(;i<count;i++);}int main(void){ RCC_Configuration();//3LED_Init();while(1){GPIO_SetBits(GPIOA,GPIO_Pin_0);//第一灯亮Delay(800000); //延时GPIO_ResetBits(GPIOA,GPIO_Pin_0); //第一灯灭Delay(800000); //延时
发表于 2019-10-21
STM32学习探究:流水灯的实现
流水灯的实现这里我们使用 stm32mini 开发板实现外接流水灯,这里我采用了三个灯(说明问题就可以了)。外接的引脚分别为PA2,PB8,PC13三个引脚,在连接的时候,采用灯的正极接GPIO引脚,负极接GND(这是一种合理的方式)。注意:虽然接VCC也可以发光,但是这样不是合理的连接方式,而且,发光的情况刚好与接GND的情况相反。参考的相关资料如下:时钟使能:端口配置:端口输出:具体实现的代码如下://led.h文件#ifndef __LED_H#define __LED_H  #include "sys.h"//LED端口定义#define LED0 PAout(2)#define LED1
发表于 2019-10-21
STM32学习探究:流水灯的实现
STM32学习探究:流水灯的实现
流水灯的实现这里我们使用 stm32mini 开发板实现外接流水灯,这里我采用了三个灯(说明问题就可以了)。外接的引脚分别为PA2,PB8,PC13三个引脚,在连接的时候,采用灯的正极接GPIO引脚,负极接GND(这是一种合理的方式)。注意:虽然接VCC也可以发光,但是这样不是合理的连接方式,而且,发光的情况刚好与接GND的情况相反。参考的相关资料如下:时钟使能:端口配置:端口输出:具体实现的代码如下://led.h文件#ifndef __LED_H#define __LED_H  #include "sys.h"//LED端口定义#define LED0 PAout(2) #define LED1
发表于 2019-10-21
STM32学习探究:流水灯的实现
STM32流水灯的几种实现方法
#include “stm32f10x.h”void RCC_Configuration(void);//2void GPIO_Configuration(void);//GPIOvoid Delay(u32 count){u32 i=0;for(;i<count;i++);}int main(void){ RCC_Configuration();//3LED_Init();while(1){GPIO_SetBits(GPIOA,GPIO_Pin_0);//第一灯亮 Delay(800000); //延时 GPIO_ResetBits(GPIOA,GPIO_Pin_0); //第一灯灭 Delay(800000); //延时
发表于 2019-10-21
小广播
何立民专栏 单片机及嵌入式宝典

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

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