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

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

3天内不再提示

GD32F303固件库开发(5)----GPIO输出模式,速率测试、开漏和输出说明

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2022-11-25 15:32 次阅读

概述

STM32CUBEMX创建STM32F103工程,同时移植在GD32F303中,同时通过GD32303C_START开发板内进行验证。

需要样片的可以加Qun申请:615061293。

硬件准备

这里准备了2块开发板进行验证,分别是GD32303C_START开发板。

在这里插入图片描述

样品申请

https://www.wjx.top/vm/wFGhGPF.aspx#

开发板管脚配置

在GD32303C_START中的LED管脚配置如下所示。

在这里插入图片描述

不同速率对应的波形

以PC3为例,在推挽输出无上下拉情况下,输出速率主要有4种,一般的低端MCU只有3种,没有Very High。 下面是ST的配置图。

在这里插入图片描述

在固件库中,定义如下所示。

在这里插入图片描述

GPIO_OSPEED_2MHZ速率

在这里插入图片描述

GPIO_OSPEED_10MHZ速率

在这里插入图片描述

GPIO_OSPEED_50MHZ速率

在这里插入图片描述

GPIO_OSPEED_MAX速率

在这里插入图片描述

可以看到,在不同速率下,端口的反应速度不一样,设置最大输出速率越大,响应越快,对应的噪声也就越大。

输出方式

在这里插入图片描述在这里插入图片描述

在上图中,P-MOS带了一个⚪,说明是低电平导通。

在这里插入图片描述

上图是GPIO的示意图,有输入和输出,如果简化为输出,则如下所示。

在这里插入图片描述

模拟文件下载

https://download.csdn.net/download/qq_24312945/85250172

推挽输出

推挽输出的内部电路大概是下图这个样子,由一个P-MOS和一个N-MOS组合而成,同一时间只有一个管子能够进行导通。

在这里插入图片描述

当输出高电平时候,P-MOS导通,N-MOS截至,此时电源电流入R5。

在这里插入图片描述

当输出低电平时候,N-MOS导通,P-MOS截至,此时电流流入R5的为0。

在这里插入图片描述

线与

推挽输出高电平与电源电压基本上没有压差 高低电平的驱动能力较强,推挽输出的电流都能达到几十mA。 但是无法进行线与操作,做进行线与操作,那么电源和地就会短路,因为mos管电阻很小。 看下图可以得知,电流通过Q3的P-MOS流到Q2的N-MOS,最终回到地。

在这里插入图片描述

开漏输出

开漏输出又叫漏极开漏输出简化后可以看作如下的示意图。

在这里插入图片描述

若还是使用上面推挽的电路图,当N-MOS为低电平时候,那么他的输出就是一个高阻态。 可以看到,R5没有电流通过,电压也是接近于0,所以GPIO无法对外输出高电平。

在这里插入图片描述

此时需要增加一个上拉,这样的话上拉的电流就会流出去。 所以在开漏输出情况下,需要增加一个上拉才能进行输出高电平。

在这里插入图片描述

对于输出低电平,他和推挽输出差不多,电流通过N-MOS流到地中。

在这里插入图片描述

上图是没有增加上拉,但是开漏输出模式都需要增加,增加上拉之后如下图所示。 电流通过N-MOS流回地中。

在这里插入图片描述

输出电压

由于推挽输出在输出的时候是通过单片机内部的电压,所以他的电压是不能改变的。 但是开漏输出是通过外部上拉的电压,所以可以改变开漏输出模式下的电压大小。 下图是当上拉为5V时候,也是可以驱动出去的,这个上拉电压最大值需要看单片机的耐压。

在这里插入图片描述

审核编辑:汤梓红

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

    关注

    16

    文章

    1196

    浏览量

    51897
  • 固件库
    +关注

    关注

    2

    文章

    97

    浏览量

    14922
  • stm32cubemx
    +关注

    关注

    5

    文章

    280

    浏览量

    14746
  • gd32f303
    +关注

    关注

    4

    文章

    38

    浏览量

    3674
收藏 人收藏

    评论

    相关推荐

    STM32CUBEIDE(3)----GPIO输出模式速率测试输出说明

    本章主要GPIO输出模式下不同配置的说明。 最近在弄ST和GD的课程,需要样片的可以加群申请:615061293。
    的头像 发表于 11-24 10:30 2326次阅读
    STM32CUBEIDE(3)----<b class='flag-5'>GPIO</b><b class='flag-5'>输出</b><b class='flag-5'>模式</b>,<b class='flag-5'>速率</b><b class='flag-5'>测试</b>、<b class='flag-5'>开</b><b class='flag-5'>漏</b>和<b class='flag-5'>输出</b><b class='flag-5'>说明</b>

    STM32CUBEMX开发GD32F303(6)----GPIO输入函数说明

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。
    的头像 发表于 11-25 16:06 1529次阅读
    STM32CUBEMX<b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(6)----<b class='flag-5'>GPIO</b>输入函数<b class='flag-5'>说明</b>

    GD32F303固件开发(14)----IIC之配置OLED

    本章配置GD32F303使用IIC进行驱动SSD1306的12864OLED。
    的头像 发表于 07-26 08:55 3558次阅读
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>库</b><b class='flag-5'>开发</b>(14)----IIC之配置OLED

    GD32F303】星空派介绍

    GD32官方资料的基础上,提供GD32F303的库函数开发资料、例程讲解、视频课程等。同时还提供RT-Thread相关的驱动开发、应用开发
    发表于 09-11 17:55

    GD32F30x系列固件

    GD32F30x系列固件包含GD32F303GD32F305、GD32F307三个系列的最新
    发表于 08-21 09:00 165次下载

    GD32F303固件开发(1)----前期准备与烧录

    在这使用STM32CUBEMX进行配置STM32F103,移植到兆易创新GD32F303,然后进行测试。需要样片的可以加Qun申请:615061293。
    的头像 发表于 11-23 11:15 2586次阅读
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>库</b><b class='flag-5'>开发</b>(1)----前期准备与烧录

    输出和推挽输出

    在STM32或者GD32中,普通的输出GPIO输出方式主要是
    的头像 发表于 11-24 10:23 1.3w次阅读
    <b class='flag-5'>开</b><b class='flag-5'>漏</b><b class='flag-5'>输出</b>和推挽<b class='flag-5'>输出</b>

    GD32F303固件开发(4)----GPIO输出函数说明

    本章主要讲解GPIO输出函数说明。 最近在弄ST和GD的课程,需要样片的可以加群申请:615061293。
    的头像 发表于 11-24 14:17 2582次阅读
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>库</b><b class='flag-5'>开发</b>(4)----<b class='flag-5'>GPIO</b><b class='flag-5'>输出</b>函数<b class='flag-5'>说明</b>

    STM32CUBEMX开发GD32F303(4)----GPIO输出模式速率测试输出说明

    以STM32CUBEMX创建STM32F103工程,同时移植在GD32F303中,同时通过GD32303C_START开发板内进行验证。 需要样片的可以加Qun申请:615061293
    的头像 发表于 11-25 11:49 1802次阅读
    STM32CUBEMX<b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(4)----<b class='flag-5'>GPIO</b><b class='flag-5'>输出</b><b class='flag-5'>模式</b>,<b class='flag-5'>速率</b><b class='flag-5'>测试</b>、<b class='flag-5'>开</b><b class='flag-5'>漏</b>和<b class='flag-5'>输出</b><b class='flag-5'>说明</b>

    STM32CUBEMX开发GD32F3035)----GPIO输出函数说明

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验
    的头像 发表于 11-25 15:58 1152次阅读
    STM32CUBEMX<b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(<b class='flag-5'>5</b>)----<b class='flag-5'>GPIO</b><b class='flag-5'>输出</b>函数<b class='flag-5'>说明</b>

    STM32CUBEMX开发GD32F303(10)----双ADC轮询模式扫描多个通道

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。需
    的头像 发表于 11-29 17:38 1788次阅读
    STM32CUBEMX<b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(10)----双ADC轮询<b class='flag-5'>模式</b>扫描多个通道

    GD32F303固件开发(12)----输出PWM及修改PWM频率与占空比

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发板内进行验证。 本章主要配置定时器输出PWM
    的头像 发表于 11-30 15:36 9191次阅读
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>库</b><b class='flag-5'>开发</b>(12)----<b class='flag-5'>输出</b>PWM及修改PWM频率与占空比

    GD32F303固件开发(15)----外部中断EXTI

    本章配置GD32F303使用EXTI进行驱动LED。
    的头像 发表于 07-26 15:56 1420次阅读
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>库</b><b class='flag-5'>开发</b>(15)----外部中断EXTI

    GD32F303固件开发

    的可以加群申请:615061293 。 GD32F303固件开发(1)----前期准备与烧录 使用GDLINK、jlink、串口下载程序到GD
    的头像 发表于 07-27 09:27 1105次阅读
    <b class='flag-5'>GD32F303</b><b class='flag-5'>固件</b><b class='flag-5'>库</b><b class='flag-5'>开发</b>

    STM32CUBEMX开发GD32F303

    在这使用STM32CUBEMX进行配置STM32F103,移植到兆易创新GD32F303,然后进行测试
    的头像 发表于 07-27 09:32 1519次阅读
    STM32CUBEMX<b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>