ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

STM32CubeMx+HAL笔记(六)用GPIO控制LED灯的开发步骤

2022-01-04 19:34:29  阅读:201  来源: 互联网

标签:LED APB2 总线 STM32CubeMx 地址 GPIO HAL 外设 时钟


背景:用GPIO点亮LED灯,PB0引脚控制。

一、寄存器编程三步走(以GPIO控制LED为例)

        1.了解总线矩阵

        2.了解时钟概念

        3.寻找对应寄存器编写代码

该方法适用于大部分单边机的外设开发,不过实现上面三点的关键在于单片机对应型号的参考手册。

二、总线矩阵

总线矩阵是内核与外设间交互的窗口。以stm32f103系列为例,Cortex-M3内核通过各种总线,经总线矩阵、AHP系统总线与外设建立联系。下图来自于该单片机的参考手册。

通过上图,可以看出GPIO是挂载在APB2总线上的。通过总线形式可以很好地将各种外设分离开,从而可以独立地控制各种外设的使能与否。 而控制外设使能就是控制这个外设的时钟。

三、时钟

控制该外设的时钟就可以使它使能。那么,我们需要知道该外设对应的时钟是哪一个?在参考手册里如何找到?

方法一:从上图可以看出,GPIO外设挂载在APB2总线上,只要使能APB2总线时钟,就可以使能该外设。

方法二:查看存储器映射,后面有其总线信息,如下图:

 四、GPIO开发

1、首先,使能GPIOB的外设时钟(找寄存器地址)

时钟外设RCC基地址:0x40021000
APB2偏移地址:0x18

APB2外设使能寄存器:基地址+偏移地址

 

        

2、然后,配置GPIOB端口

GPIOB外设基地址:0x40010c00

GPIOB_CRL偏移地址:0x00

GPIOB_ODR偏移地址:0x0c

 

 

标签:LED,APB2,总线,STM32CubeMx,地址,GPIO,HAL,外设,时钟
来源: https://blog.csdn.net/weixin_42638731/article/details/122309122

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有