初入STM32-GPIO设置

STM32基本概念

二进制

其实STM32内部的是由基础电路构造,有些程序的过程想当于把设置之前设计好未连接的硬件电路连接,程序转移成二进制,有些二进制位便是配置电路的连接状态, ,举例0打开开关(不连接电路),1闭合开关(连接电路),二进制在很多硬件编程中扮演着开和关的重要角色.

STM32为什么比51单片机快?

数据线

STM32拥有32根数据线传输32位二进制数据,而基于51内核的单片机是8位数据线,搬运一次数据的数量级根本不是一个概念.

时钟

32的时钟频率经过锁相环倍频高达72M,而51仅为12M.
重要概念:只有当时钟的脉冲(上升/下降沿)到来时才能改变寄存器的值,举例子,我想改变IO口状态为低电平,时钟脉冲到来时我才能改变,32(72M频率)则比51(12M频率)快6倍!
当然STM32比51块还因为它的哈佛结构等,只需要大概了解就好了.
#STM32内部函数设计思想&GPIO口配置
##1.项目文件简介
这里写图片描述
自定义函数:是为了避免主函数有大量的程序而进行封装的函数,主函数一般仅仅是几行函数调用.
库函数: ST公司为使用者配置好的函数,避免使用者直接使用寄存器的繁琐工作,必须有一个思想:我需要用到的配置函数ST都帮我们写好了,我们只需要去找函数来调用!

2.STM32时钟

这里写图片描述
大家注意黑色框中的图,系统时钟72M分成2个重要的部分APB1和APB2
APB1时钟管理普通定时器2\3\4等
APB2时钟管理GPIO,高级定时器1\8,ADC等
启用对应的功能都要开启时钟,时钟的脉冲才能改变对应寄存器的值.(上升沿和下降沿都能改变寄存器的值)
有人问过我为什么51的时钟不用开启啊??
因为51单片机的时钟都默认统一开启了,而32需要分别开启时钟的,好处是避免不必要的MCU资源浪费和能耗.
这里写图片描述

3.IO口分组与基本电路结构

STM32 IO口分组是按字母分组例如PA/PB/P(A-G),而STC是按数字分组P0/P1/P(0-3)
STM32一组有16个口例如A组有16个口,而STC一组只有8个口
这里写图片描述
GPIO 8种模式
-输入浮空
-输入下拉
-输入上拉
-模拟输入 (模拟量输入-AD,DA)
-开漏输出 : 外设电压比单片机电压低的时启用
-推挽式输出 (常用): 可以输出高(电源电压)/低电平,连接数字器件
-推挽式复用功能 (常用)
-开漏复用功能
**重点:我们等会用程序去配置GPIO模式便是配置电路的连接来决定启用那种电路!!! **

4.代码补全功能

函数名字都概括了函数的作用!
问题来了?我们无法确定具体的函数,只能大概确定名字
例如GPIO_Init ,一个特别重要的功能启用:代码提醒功能,新手最好启用,快速上手!
–KEIL下ARM编译环境功能十分强大
下面为启用设置
这里写图片描述
这里写图片描述
这里写图片描述

5.STM32GPIO口库函数

这里写图片描述
这里写图片描述
注意:参数已经是ST帮你定义好的了,那么如何知道我该赋入什么形参呢???
这里写图片描述
这里写图片描述

6.配置GPIO组类型结构体

这里写图片描述
这里写图片描述
这里写图片描述

7.配置GPIO类型结构体

这里写图片描述
找到了.h文件(宏定义和结构体都在.h文件声明)
这里写图片描述
如何配置这些结构体的量?
记住我们一旦调用库函数则只需要往库的头文件(.h)中便能找到ST为我们定义好的参数进行配置
搜寻关键词快捷键:CTRL+F
选定管脚
这里写图片描述
之后我们便找到了
这里写图片描述
有人奇怪了?为什么要ST这样做呢?
试想32的寄存器和管脚如此之多,对于快速开发的人员来说,预先宏定义好所需函数和配置参数简直再好不过了,甚至不用阅读手册都能进行快速开发!
配置模式
这里写图片描述

GPIO速度配置同样原理

自定义个函数对需要到GPIO设备进行配置

这里写图片描述

源码下载

#大家可以看我下一篇文章-KEIL波形仿真,不用下载程序就能看到结果

KEIL波形仿真

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值