您的位置 首页 硬件

STM32学习笔记——操控GPIO输出点亮LED灯

一预备知识使用51单片机控制IO口相对来说要简单得多,最小系统搭建完毕后直接通过软件往各IO口写1或者写0即可。但使用STM32控制IO口输入输

一.准备常识

运用51单片机操控IO口相对来说要简略得多,最小体系建立结束后直接通过软件往各IO口写“1”或许写“0”即可。但运用STM32操控IO口输入输出却远没有这么简单,通过一个下午的查阅文献及探究后,稍微有了条理。

个人所运用的STM32F103VBT6有100个引脚,其间有五组GPIO(GPIOA…GPIOE),每组有16个GPIO端口(GPIOx_Pin0…GPIOx_Pin15)共80个,每个GPIO端口都有:

两个32位装备寄存器(GPIOx_CRL,GPIOx_CRH);

两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR);

一个32方位位/复位寄存器(GPIOx_BSRR);

一个16位复位寄存器(GPIOx_BRR);

和一个32位确定寄存器(GPIOx_LCKR)。

其间各个寄存器的效果:

称号

寄存器

含义

端口装备寄存器

GPIOx_CRL

GPIOx_CRH

装备GPIO作业形式

端口输入数据寄存器

GPIOx_IDR

读取GPIO输入状况

端口输出数据寄存器

GPIOx_ODR

操控GPIO输出状况

端口位设置/复位寄存器

GPIOx_BSRR

用于位操作GPIO的输出状况的:设置端口为0或1

端口位复位寄存器

GPIOx_BRR

用于位操作GPIO的输出状况的:设置端口为0

端口装备确定寄存器

GPIOx_LCKR

端口确定后下次体系复位之前将不能再更改端口位的装备

每个I/O端口位能够自在编程,但是I/0端口寄存器必须按32位字被拜访(不答应半字或字节拜访)。GPIOx_BSRR和GPIOx_BRR寄存器答应对任何GPIO寄存器的读/更改的独立拜访;这样,在读和更改拜访之间产生IRQ时不会产生风险。

输入数据寄存器(GPIOx_IDR)在每个APB2时钟周期捕捉I/O引脚上的数据。因而,要操控GPIOC端口,必须先使能APB2时钟。此外,STM32初始化外设第一步便是敞开APB时钟。(时钟部分常识暂时知道该如此,往后再学习。)

关于GPIO各寄存器的描绘:

端口装备低寄存器(GPIOx_CRL) (x=A..E):

端口装备高寄存器(GPIOx_CRH) (x=A..E):

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/256380.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部