zoukankan      html  css  js  c++  java
  • stm32正点原子学习笔记(12)GPIO工作原理

     

     

    带有FT标识的容忍5V

    浮空模式下黄色阴影的是通的。

    30~50K

    模拟输入熟悉的就是AD转换,外部电压是模拟量,不是01,是电压的形式(0~3.3V),而不是电平(高低)。

    如果是写1,N-MOS管是关闭的,那么输出不会由输入的1决定,因为截止了,电平是由外部上拉和下拉决定改的,类似浮空状态。输出状态也可以从6、7这里读取,但不一定是读的写的那个1,是由外部上拉下拉决定改的,而如果是写0,就N-MOS就开启了,IO口电平就会被拉到VSS,低,能被读到。

    和前面差不多,不过那个是cpu写寄存器控制,这里是由复用功能(外设)输出决定的。

    前半部分类似,但是到了输出驱动器这里,如果输入为1,那么P-MOS导通,N-MOS截止,IO口输出1,如果输入为0,则相反,IO口为0。同样也可以通过输入电路读取IO口输出。

    两个32位配置寄存器包含一个低,一个高

    stm32是32位的寄存器,一共只有32个位,配置每个IO口要4个位,所以一组32位只能配置8个IO口,1组IO口有16个,所以要两个。

    如果是GPIOA_CRL那么就是PA0~PA7

    IO口有八种模式,三种速度就是在这里配置。

    每个IO口用4位控制,分成两半,两位控制输入输出模式和速度,还有两位控制到底是哪一个模式。

    最终的上拉下拉是由ODR寄存器配置的。

     

    用于读IO口输入的,在输出模式下也可以读输出。

    这两个都只用到了16位,高16位是保留的。

    ODR寄存器还有一个作用,在输入模式下,配置上拉下拉

    cpu写寄存器时,先写位设置/清除寄存器,达到设置输出数据寄存器的目的,ODR;我们也可通过下面直接设置。

    经常只用BSRR的低16位和BRR的低16位,BSRR的高16位很少用。

    对于F4就只有一个,没有两个寄存器了。(可能)

  • 相关阅读:
    【日语】标日初级上册单词(5-8)1
    【日语】标日初级上册单词(1-4)1
    【日语】计算机日语
    百家姓日语
    【日语】动物名称日语单词集合
    【日语】日语常用会话1000句
    【日语】编程相关日语词汇
    【日语】日语N5学习
    【日语】日语新闻核心词汇
    使用uni-app开发微信小程序之登录模块
  • 原文地址:https://www.cnblogs.com/IceHowe/p/10900990.html
Copyright © 2011-2022 走看看