- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 通用和复用功能I/O; ;2、STM32的I/O端口工作模式2.1 STM32 I/O功能; ; ; ; ; ;STM32 GPIO引脚; ; ; ; ; ;; ;GPIO端口输入数据寄存器(GPIOx_IDR) (x=A..E);端口输出数据寄存器(GPIOx_ODR) (x=A..E) ;端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E);端口位清除寄存器(GPIOx_BRR) (x=A..E);端口配置锁定寄存器(GPIOx_LCKR) (x=A..E);结构GPIO_InitTypeDef定义于文件“stm32f10x.h”中:
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;;#define PERIPH_BASE ((uint32_t)0
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
#define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00)
#define GPIOC_BASE (APB2PERIPH_BASE + 0x1000)
#define GPIOD_BASE (APB2PERIPH_BASE + 0x1400)
#define GPIOE_BASE (APB2PERIPH_BASE + 0x1800)
#define GPIOF_BASE (APB2PERIPH_BASE + 0x1C00)
#define GPIOG_BASE (APB2PERIPH_BASE + 0x2000)
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
#define GPIOB ((GPIO_TypeDef *) GPIOB_BASE)
#define GPIOC ((GPIO_TypeDef *) GPIOC_BASE)
#define GPIOD ((GPIO_TypeDef *) GPIOD_BASE)
#define GPIOE ((GPIO_TypeDef *) GPIOE_BASE)
#define GPIOF ((GPIO_TypeDef *) GPIOF_BASE)
#define GPIOG ((GPIO_TypeDef *) GPIOG_BASE);结构GPIO_InitTypeDef定义于文件“stm32f10x_gpio.h”中:
typedef struct
{ uint16_t GPIO_Pin;
GPIOSpeed_TypeDef GPIO_Speed;
GPIOMode_TypeDef GPIO_Mode;
}GPIO_InitTypeDef;
使用时,先定义:
GPIO_InitTypeDef GPIO_InitStructure
访问其中的成员
GPIO_InitStructure. GPIO_Pin
… …;;;工作模式设置;; 4、应用例程(1);Advanced Peripheral Bus(APB);要求GPIO口输出工作,必须要进行如下设置:
(1)首先使能GPIO时钟,由于GPIO的时钟是由APB2提供的,所以需要使能RCC_APB2Periph_GPIOF。
(2)设置GPIO管脚工作模式及支持的时钟速率。一般当GPIO外接发光二极管时,可将GPIO管脚的工作模式设置为:推挽输出模式。管脚的时钟速率不能超过50Mhz。值得注意的是:为降低STM32处理器的功耗,可以依据实际需要选择合适的时钟速率,GPIO口支持的最大时钟速率越低,其产生的功耗也就越低。
;常用函数 P185
根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器
文档评论(0)