zoukankan      html  css  js  c++  java
  • STM32第二章I/O端口应用

    STM32F10xxx系列中,有7个I/O端口,每个端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOxBSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁存器(GPIOx_LCKP)。通过软件配置成输入浮空,上拉,下拉,模拟输入,开漏输入,推挽式输出,推挽式复用功能,开漏复用功能。

    • I/O端口必须32位字被访问(不允许半字或字节访问)
    • 所有引脚有弱上拉和弱下拉,配置输入时,可以被激活也可以断开

    单独的位设置或清除

    • 对GPIOx_ODR的个别位编程,软件不需要禁止中断,在单次APB2写操作中,可以只改一位或多位。通过“置位/复位寄存器”(GPIOx_BSRR,复位是GPIOx_BRR)中想要更改的位写1来实现的。

    外部中断/唤醒线

    • 所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。

    复用功能AF

    • 对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚由外部驱动
    • 复用输出功能,端口配置成复用功能输出模式(推挽或开漏)--引脚和输出寄存器断开,并和外设链接,外设没有激活,输出状态不稳定
    • 双向复用功能,端口配置成复用功能输出模式(推挽或开漏)。这时,输入驱动被配置成浮空输入模式

    软件重映射I/O端口复用功能

    • 将一些复用功能重新映射到其他引脚上,可通过软件配置相应的寄存器

    GPIO锁定机制

    • 冻结I/O配置,在下一次复位之前不能改变端口的配置

    I/O位输入时,输出驱动器禁止。根据输入配置,弱上拉和下拉选择性连接。

    输出配置,输出驱动激活,

    • 开漏模式
    • 推挽模式
    • 施密特触发被激活
    • 弱上拉下拉禁止

    复用功能配置

    • 当配置成复用功能时,在开漏或推挽配置中,输出驱动被打开,内置外设驱动输出驱动器(复用功能输出),施密特触发输入被激活,若上拉下拉禁用

    模拟输入配置

  • 相关阅读:
    jascript基础教程学习总结(2)
    ajax原理图解
    ajax原理
    javascript基础教程学习总结(1)
    HTML学习(1)
    vi编辑器
    effective C++ 4 Make sure objects are initialized before they are used
    effective C++ 3 use const whenever possible
    STL: string:erase
    STL: 从reverse到iterator
  • 原文地址:https://www.cnblogs.com/guguobao/p/9822305.html
Copyright © 2011-2022 走看看