zoukankan      html  css  js  c++  java
  • 正点原子STM32探索者学习笔记1

    1.在STM32的数据手册中,引脚定义中的I/O structure中如果是FT的话,说明该引脚兼容5V;

    2.IO口一般都有多个功能,可以通过寄存器的设置来选择其IO口的功能,F1还有重映射的概念,F4没有;

    3.IO口分为两种情况:一个是完全独立的IO(不能有任何外设连接的IO,一般比较少)(如ADC采集);一种是允许IO口挂其他外设,但是必须可以单独做输入、输出使用。

    4.基本外设:GPIO输入输出,外部中断,定时器,串口。这四个基本外设任何一款MCU都有;然后是一些高级的通信外设如SPI,IIC,WDG,FSMC,ADC/DAC,SDIO等;再是一些高级功能的应用了,如UCOS,EMWIN等;

    5.Cortex-M4采用ARMv7-ME架构,此架构定义了三大分工明确的系列:“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列:针对实时系统;“M”系列:对微控制器。

    6.GPIO:STM32F407ZGT6有7组IO口,每组IO口有16个IO,一共有112个IO,从GPIOA~GPIOG.

    7.STM32的大部分引脚除了当GPIO使用外,还可以复用为外设功能引脚(比如串口,定时器,IIC等)。

    8.GPIO的工作方式:4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入;4种输出模式:开漏输出(带上拉或者下拉),开漏复用功能(带上拉或者下拉),推挽式输出(带上拉或者下拉),推挽式复用功能(带上拉或者下拉);具体区别可以参考STM32八种IO口模式区别.pdf;4种最大输出速度:2MHZ25MHZ50MHZ100MHZ.

    9.推挽输出可以输出强高低电平,适合连接数字器件;开漏输出只可以输出强低电平,高电平得靠外部电阻拉高。适合做电流型的驱动。

    10.每组GPIO端口的寄存器包括如下图:

     11.端口模式寄存器(GPIOx_MODER)如下:

    12.端口输出类型寄存器(GPIOx_OTYPER)如下:

    13.端口输出速度寄存器(GPIOx_OSPEEDR)如下:

    14.端口上拉下拉寄存器(GPIOx_PUPDR)如下:

    15.端口输入数据寄存器(GPIOx_IDR)如下:

    16.端口置位/复位寄存器(GPIOx_BSRR)如下:

    17.所有的IO口都可以用于中断输入(stm32);

  • 相关阅读:
    [随笔][Java][修改Maven仓库库为阿里云]
    [随笔][Java][Java 类型系统]
    MongoDB终极攻略
    SQLAlchemy攻略
    linux system函数引发的错误
    QT 问题提问网站
    QT学习
    QT学习
    linux 内存
    Linux 查看内存(free)、释放内存(基本操作)
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/7435662.html
Copyright © 2011-2022 走看看