配置gpio端口配置寄存器注意事项

原创 2016年08月29日 09:03:44

GPIO配置寄存器


GPIO口配置是通过配置寄存器来进行的,每个GPIO 端口有:
两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)分别控制每个端口的高八位和低八位。如果IO口是0-7号的话,则写CRL寄存器;如果IO口是8-15号的话,则写CRH寄存器。
两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR)一个是只读作输入数据寄存器,一个是只写作输出寄存器。
一个32位置位/复位寄存器(GPIOx_BSRR)。
一个16位复位寄存器(GPIOx_BRR)。
一个32位锁定寄存器(GPIOx_LCKR)。
常用的IO端口寄存器只有四个:CRH,CRL,IDR,ODR。

数据手册中列出的每个I/O端口的特定硬件特征。 GPIO端口的每个位可以由软件分别配置成多种模式。每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。 另外,STM32的每个端口使用前都要将其时钟使能,STM32的GPIO的时钟统一挂接在APB2上,具体的使能寄存器为RCC_APB2ENR,该寄存器的第2位到第8位分别控制GPIOx(x=A,B,C,D,E,F,G)端口的时钟使能,当外设时钟没有启用时,程序不能读出外设寄存器的数值,如打开PORTA时钟:  RCC->APB2ENR|=1<<2;    //使能PORTA时钟

相关文章推荐

GPIO操作之C语言篇

1:主要内容 2:相关要点 3:实验源码

STM32学习笔记(三)------GPIO口寄存器的操作与使用

1、STM32 的每个 IO 端口都有 7 个寄存器来控制 (1)配置模式的 2 个 32 位的端口 配置寄存器 CRL 和 CRH (2)2 个 32 位的数据寄存器 IDR 和 ODR (3...

ARM、THUMB指令集

为兼容数据总线宽度为 16 位的应用系统, ARM 体系结构除了支持执行效率很高的 32 位 ARM指令集以外,同时支持 16 位的Thumb 指令集。 Thumb 指令集是 ARM 指令集的一个子集...

再看K60——寄存器配置

今天心血来潮,重新去看了K60的寄存器和数据手册,配上超核的视频,去网上搜查相关资料,每次看视频的感觉都不同,至少现在看来寄存器的配置的基本步骤都差不多,虽然现在也只是会配简单的寄存器。 现在把今天所...

STM32F10x芯片GPIO/AFIO端口配置总结

以下是STM32F10x芯片GPIO/AFIO端口配置详细介绍,欢迎大家查阅,如有问题,可联系我: 1、介绍 STM32F10x芯片的GPIO/AFIO配置主要包括以下几方面知识:在时钟控...

配置远程sql服务器注意事项

  • 2012年05月14日 19:10
  • 142KB
  • 下载

iOS证书制作攻略及配置注意事项

  • 2015年05月26日 15:22
  • 2.13MB
  • 下载

Centos 服务器LAMP 端口配置

在linux下修改Apache的配置文件,编辑/etc/httpd/httpd.conf。加#号的是注释,是给你看的样板或说明,不会真正执行。 一般默认是Listen 80,表示监听所有80端口...

華為ACL配置注意事项

  • 2011年07月26日 23:23
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:配置gpio端口配置寄存器注意事项
举报原因:
原因补充:

(最多只允许输入30个字)