0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机IO配置不同速度有啥区别?

jf_pJlTbmA9 来源:strongerHuang 作者:strongerHuang 2023-10-25 16:42 次阅读

这是一个初学者不会去了解的问题,但,会使老司机掉坑的问题。这也是最近在技术交流群看到的一个问题,所以,就出来简单分享一下。

概述

这个问题看起来比较简单,我相信很多人都能说出答案。但是,很多人都只是停留在表面,没有在项目中经历过,也没有更深入的去了解。

wKgaomUDvk2AGNuEAAIOrRAitAY608.jpg

很早之前年的单片机可能没有输出速度这个配置选项,但是这后面的单片机基本都有配置速度的选项,下面结合STM32来简单介绍一下。

GPIO输出速度

不管标准外设库,还是STM32CubeMX配置GPIO输出引脚,都会有速度GPIO_InitStruct.Speed这个选项。

类似如下:

GPIO_InitStruct.Pin=GPIO_PIN_5; GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull=GPIO_NOPULL; GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, GPIO_InitStruct);

根据不同MCU型号,速度选项,有些有3个,有些有4个。一般定义在xxx_gpio.h文件中。

#defineGPIO_Speed_2MHzGPIO_Speed_Level_1/*!< I/O output speed: Low 2 MHz*/ #define GPIO_Speed_10MHz GPIO_Speed_Level_2 /*!< I/O output speed: Medium 10 MHz */ #define GPIO_Speed_50MHz GPIO_Speed_Level_3 /*!< I/O output speed: High 50 MHz */
#defineGPIO_SPEED_FREQ_LOW(0x00000000u)/*!< Low speed */ #define GPIO_SPEED_FREQ_MEDIUM (0x00000001u) /*!< Medium speed */ #define GPIO_SPEED_FREQ_HIGH (0x00000002u) /*!< High speed */ #define GPIO_SPEED_FREQ_VERY_HIGH (0x00000003u) /*!< Very high speed */

对于普通输出GPIO,使用STM32CubeMX配置,默认配置低:

wKgZomUDvk-AVOGzAABGvijj570900.png

当然,如果配置成其他模式,有可能是中,或高。

比如:配置UARTCAN引脚,速度会是高。

提问:你想过为什么会是低、高吗?

测量GPIO输出波形

不知道大家用示波器测量过GPIO输出波形没有,特别是在高速(单位M)的时候。

我以前经常测量MCO引脚输出时钟,测量过的人应该都知道,如果输出速度高于配置速度,会明显看到波形不正常。波形会出现不完整,幅度低等失真现象。相信不用我说,有一定常识的人都能理解。

差异原因

速度的配置,就是决定IO口驱动电路的响应速度。我们需要结合实际情况配置速度,不同速度会有不同的影响。

高低速差异:配置高速:输出频率高,噪音大,功耗高,电磁干扰强;

配置低速:输出频率低,噪音小,功耗低,电磁干扰弱;提高系统EMI(电磁干扰)性能;

看到差异,相信很多人就能理解了。实际情况中,比如:低功耗的产品,你会考虑功耗。环境不好的场合,通信不稳定,你会考虑电磁干扰等。

举例:如果你使用9600波特率UART通信,建议速度配置为低。所以,如果你想使产品更加完美,速度配置也是关键的一项。

来源:strongerHuang

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6017

    文章

    44269

    浏览量

    626790
  • IO
    IO
    +关注

    关注

    0

    文章

    414

    浏览量

    38801
  • GPIO
    +关注

    关注

    16

    文章

    1164

    浏览量

    51396
收藏 人收藏

    评论

    相关推荐

    ARM与单片机到底区别

    初学者必知:ARM与 单片机到底 区别?1、软件方面这应该是最大的 区别了。引入了操作系统。为什么引入操作系统?
    发表于07-16 06:54

    ARM与单片机到底区别

    ARM与 单片机到底 区别
    发表于11-05 07:29

    ARM与单片机到底区别

    对于初学者来说:ARM与 单片机到底 区别? 1、软件方面 这应该是最大的 区别了。引入了操作系统。为什么引入操作系统?
    发表于12-13 07:44

    51单片机、AVR单片机和PIC单片机IO口操作

    51 单片机、AVR 单片机和PIC 单片机 IO口结构的均不同,导致了 IO口操作也不同。操作 单片机
    发表于02-20 20:25 1w次阅读
    51<b class='flag-5'>单片机</b>、AVR<b class='flag-5'>单片机</b>和PIC<b class='flag-5'>单片机</b>的<b class='flag-5'>IO</b>口操作

    瑞萨单片机和51单片机什么区别

    瑞萨 单片机和51 单片机 什么 区别? 瑞萨 单片机 8位32位
    发表于10-10 08:00 45次下载

    51单片机和STM32单片机哪些区别

    大部分朋友可能都知道51 单片机和stm32 单片机也知道一般入门会先学习51 单片机在学习stm32 单片机会简单一些,但是对于51 单片机和stm
    发表于08-13 17:32 17次下载
    51<b class='flag-5'>单片机</b>和STM32<b class='flag-5'>单片机</b><b class='flag-5'>有</b>哪些<b class='flag-5'>区别</b>

    单片机和plc什么区别

    单片机和plc之间 什么 区别?首先 单片机是芯片,不能独立使用。而PLC是由 单片机组成的通用控制器,可以直接使用。
    发表于07-20 09:47 9418次阅读

    ARM与单片机的对比,它们什么区别

    ARM与 单片机 区别? 初学者必知:ARM与 单片机到底
    发表于03-29 15:06 2614次阅读

    单片机IO口操作总结

    单片机 IO口操作总结一、 单片机 IO口概述二、 单片机 IO口操作1、输入口使用2、输出口使用三、关于
    发表于11-05 13:06 31次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>IO</b>口操作总结

    单片机和PLC什么区别

    单片机和PLC 什么 区别
    发表于11-13 19:21 11次下载
    <b class='flag-5'>单片机</b>和PLC<b class='flag-5'>有</b>什么<b class='flag-5'>区别</b>?

    单片机和PLC什么区别

    单片机和PLC 什么 区别
    发表于11-23 16:21 79次下载
    <b class='flag-5'>单片机</b>和PLC<b class='flag-5'>有</b>什么<b class='flag-5'>区别</b>?

    关于stm32单片机准双向IO配置

    我们在开始学习51内核的 单片机的时候就知道,p0口的引脚都是双向 IO口,P1,P2,P3的 IO口需要双向使用时需要外接上拉电阻,故称为准双向 IO口,但是我们在学习STM32
    发表于12-24 19:19 19次下载
    关于stm32<b class='flag-5'>单片机</b>准双向<b class='flag-5'>IO</b>口<b class='flag-5'>配置</b>

    一文解决STC51单片机IO配置问题

    我们学习 单片机,到底学什么呢?最终落脚点,就是落在 单片机IO口上,其实最终就是操作 单片机IO口,什么串口通讯,IIC通信协议,中断,定时
    发表于02-10 11:13 6次下载
    一文解决STC51<b class='flag-5'>单片机</b>的<b class='flag-5'>IO</b><b class='flag-5'>配置</b>问题

    单片机io配置不同速度区别

    我以前经常测量MCO引脚输出时钟,测量过的人应该都知道,如果输出 速度高于 配置 速度,会明显看到波形不正常。 波形会出现不完整,幅度低等失真现象。 相信不用我说, 一定常识的人都能
    发表于08-16 12:20 382次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>io</b><b class='flag-5'>配置</b>不同<b class='flag-5'>速度</b><b class='flag-5'>有</b><b class='flag-5'>区别</b>吗

    GPIO配置不同输出速度会有什么影响

    单片机GPIO 配置不同输出 速度 区别
    的头像 发表于09-18 15:43 1664次阅读
    GPIO<b class='flag-5'>配置</b>不同输出<b class='flag-5'>速度</b>会有什么影响