python stm32f401_STM32学习之GPIO配置 (STM32F401ZGT6)

一.GPIO的作用

1.当作输入输出口 输出数字信号 0/1

TTL电平 0 0~1.5V 1 2.5~5V

STM32中 - 0±0.1V 1 3.3±0.3V

2.直接驱动外部电路 如LED,蜂鸣器等等

3.使用I/O口模拟通信协议 IIC

4.模拟PWM波 通过循环改变占空比来实现

二.STM32F407ZGT6芯片中GPIO口的数量及命名

1.114个I/O口,每个I/O口上有不同的通用功能,复用功能等

2.命名 Port + 端口号 + 管脚号

端口号 : A B C D E F G H 在A~G上每个端口有16个管脚(0~15),H只有2个管脚(1,2)

例 PA5 A端口的第5个管脚

三.如何操作GPIO口

通过AHB1时钟总线与GPIO口通信 操作提供的接口----寄存器

四.STM32F407ZTG6中GPIO的寄存器

1.寄存器:一块存储空间(8/16/32位),具有RAM具有的特性(掉电数据丢失,读写速度快),每个位 都有自己独特的作用。

2.如何操作寄存器

通过指针操作 例如我们想操作一个地址为0x4000的寄存器只需要通过*(unsigned int *)0x4000进行我们需要的操作(赋值,加减,位操作)

3.寄存器的特性

有读/写,只读,只写,读取/清零,读取/置位,切换,保留(reserved)等

数据(DR)寄存器:保存接受/发送的数据,一般用=接受

配置(控制CR)寄存器:配置相关的工作模式,一般用&=~进行清零或|=置一 ^= 进行反转

状态(SR)寄存器:外设所处的状态,一般用 &1 操作来进行读取

4.GPIO的工作模式

上拉:1.拉高电平2.增强电路的驱动能力

下拉:1.拉低电平2.增强电路的驱动能力

输入:4种

浮空输入:输入的是数字量,不具有上下拉驱动能力的输入 – 按键识别

上拉输入:输入的是数字量,具有上拉驱动能力的输入

下拉输入:输入的是数字量,具有下拉驱动能力的输入

模拟输入:输入的是模拟量 – 模数转换 ADC

输出:4种

通用:IO功能

复用:除了IO以外的功能,比如串口,定时器等

开漏输出:只能输出0(想要输出1,需要接上拉电阻)--总线通信

推挽输出:既能输出0,又能输出1.

5.通过配置步骤(以LED为例)

1.查看原理图,找到led对应的IO口

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值