stm32GPIO基本结构

左边是APB2外设总线   GPIO外设命名是 GPIOA  GPIOB  GPIOC  每个GPIO都有16个引脚编号是从0~15   PA1~PA15    PB0~PB15 

每个GPIO模块内 主要包含了寄存器和驱动器 这些东西 

寄存器就是特殊的存储器 内核可以通过APB2总线进行读写     这样就可以完成输出电平和读写电平的功能

寄存器每一位对应一个引脚  其中输出寄存器写1,对应的引脚就会输出高电平,写0,就会输出低电平 

因为引脚数量原因  也为了便捷 所以会产生某些引脚会身兼数职 多个用途 也叫做特殊引脚

cpu直接对GPIO 进行读写的是直接调用

cpu通过模块间接控制GPIO是间接调用把同一个引脚当作几个功能使用  这样就能多塞几个模块

并不是每个项目都会把所有模块都是用 例如用了1-4 的模块 那就有两个空闲的模块 5 -6

空闲的模块的引脚 cpu就可以直接调用

IO口重映射问题

例如 串口和定时器的复用功能都是PA10和PA9  那两个模块都需要用的时候

会因为冲突问题  cpu不知道用谁 这个时候可以通过io重映射把串口移动到别的引脚上去  

1.蓝色是主功能 主功能能默认情况下就是蓝色部分的功能  例:cpu 直接控制GPIO 

GPIO 再控制引脚 这就是通用功能

2.绿色的是复用功能  主要以 cpu通过控制模块  模块再控制GPIO  GPIO再控制引脚 赋予特殊功能

3.紫色的是重映射  例如  PA10 PA9即是串口又是定时器  同时使用会引发冲突    这时可以通过重映射 可以把串口移动到PB7 PB6

作业

题一:特殊引脚有13个 :

1:(VDD+VSS )*3组   用于给芯片供电

2.VDDA和VSSA     是给芯片模拟模块供电的  例:ADC(模数转换器) DAC(数模转换器)

3.VBAT 芯片电池供电供电接口(备用电源)

4.BOOT0 用来给芯片选择模式

5.NRST给芯片复位

字母和数字的方式命名   字母暗按照ABCDEFG来分组  每组16个引脚 第一个引脚PA0 最后一个PA0

从0开始

io复用  芯片上的同一个引脚可以身兼数职  既可以当普通io使用 受所写的程序直接支配  可以有一些服用功能   同一个引脚可以同时具备多个复用功能   

两点好处 1.就是 可以塞进多个模块  有了更多的模块 芯片使用起来功能会更加强大

2.做项目的时候  大部分情况是 大部分模块用不上的 可以把用不上的模块的引脚  可以当普通io口用   做一些基础功能 例如电灯之类的

当两个片上外设发生冲突  可以通过io重映射 把发生冲突的两个模块其中一个 重映射到其他的引脚上 

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值