概述
以STM32CUBEMX创建STM32F103工程,同时移植在GD32F303中,同时通过GD32303C_START开发板内进行验证。 需要样片的可以加Qun申请:615061293。
硬件准备
这里准备了2块开发板进行验证,分别是GD32303C_START开发板。
开发板管脚配置
在GD32303C_START中的LED管脚配置如下所示。
不同速率对应的波形
以PC3为例,在推挽输出无上下拉情况下,输出速率主要有4种,一般的低端MCU只有3种,没有Very High。 下面是ST的配置图。
在固件库中,定义如下所示。
LOW速率
Medium速率
High速率
Very High速率
可以看到,在不同速率下,端口的反应速度不一样,设置最大输出速率越大,响应越快,对应的噪声也就越大。
输出方式
在上图中,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时候,也是可以驱动出去的,这个上拉电压最大值需要看单片机的耐压。
关键字:STM32CUBEMX GPIO 输出模式
引用地址:
STM32CUBEMX开发GD32F303(4)----GPIO输出模式
推荐阅读最新更新时间:2024-10-22 17:53
STM32CUBEMX开发GD32F303(4)----GPIO输出模式
概述 以STM32CUBEMX创建STM32F103工程,同时移植在GD32F303中,同时通过GD32303C_START开发板内进行验证。 需要样片的可以加Qun申请:615061293。 硬件准备 这里准备了2块开发板进行验证,分别是GD32303C_START开发板。 开发板管脚配置 在GD32303C_START中的LED管脚配置如下所示。 不同速率对应的波形 以PC3为例,在推挽输出无上下拉情况下,输出速率主要有4种,一般的低端MCU只有3种,没有Very High。 下面是ST的配置图。 在固件库中,定义如下所示。 LOW速率 Medium速率 High速率 Very High速率 可以看
[单片机]
【STM32CubeMX】1,STM32之GPIO端口输入模式配置
主要参考这两篇文章 https://blog.csdn.net/flaming999/article/details/52487904 https://blog.csdn.net/kevinhg/article/details/17490273 2、推挽输出与开漏输出的区别 推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止. 要实现 线与 需要用OC(open collector)门电路.是两个参数
[单片机]
STM32CUBEMX(4)--GPIO输出
概述 本篇文章主要介绍如何使用STM32CubeMX对红外波形进行GPIO输出,并LED显示。 硬件准备 首先需要准备一个开发板,这里我准备的是NUCLEO-F030R8的开发板: 选择芯片型号 配置时钟源 HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示: 配置时钟树 STM32F0的最高主频到48M,所以配置48即可: GPIO口配置 左键点击需要配置的端口,选择GPIO_Output模式。这里我们配置的端口位PB10和PB11。 配置完如下图所示。 详细参数配置,如下图,完成后点击OK。 生成工程设置 注意在生产工程设置中不能出现中文,不然
[单片机]
STM32CUBEMX开发GD32F303(5)----GPIO输出函数说明
概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。 样品申请 https://www.wjx.top/vm/mB2IKus.aspx 硬件准备 这里准备了2块开发板进行验证,分别是GD32303C_START开发板。 开发板管脚配置 在GD32303C_START中的LED管脚配置如下所示。 HAL_GPIO_Init()函数 该函数的作用是根据GPIO_Init中指定的参数初始化GPIOx外设。 由于是对管脚进行初始化定义,一般在mian()函数初始化中。 而在主程序的初始化中,有个注释是初始化所有配置的外设,点击查看这
[单片机]
STM32CubeMX学习教程之一:GPIO输出之跑马灯
完整源码下载: https://github.com/simonliu009/STM32CubeMX-GPIO-Control 软件版本: STM32CubeMX V4.25.0 System Workbench V2.4 固件库版本: STM32Cube FW_F1 V1.6.1 硬件:OneNet 麒麟座V2.3 在STM32CubeMX中新建项目,选择正确的MCU型号 首先设置RCC和SYS,如下图 然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图 GPIO设置 PC7, PC8, PA12和 PC10为GPIO_OUTPUT, (这是麒
[单片机]
STM32CubeMX学习笔记1:GPIO输出LED流水灯
MCU:STM32F103ZET6 IDE: MDK-ARM V5 +STM32CubeMX5.0.0 一. 在 Pinout&Configuration---System Core中: 1. 首先设置时钟RCC的HSE(外部高速时钟)为晶振模式:Crystal/ceramic Resonator 2. 设置系统SYS的Debug为Serial Wire: 3. 设置GPIO中的LED管脚。 根据MCU的硬件原理图可以看出LED均是低电平触发,且对应的端口为PC0-PC7,因此在使能是应开启GPIOC端口。 在MCU管脚图中找到PC0-PC7管脚,右键将管脚设置为GPIO_Output输出模式。
[单片机]
STM32CubeMX学习教程之一:GPIO输出之跑马灯
完整源码下载: https://github.com/simonliu009/STM32CubeMX-GPIO-Control 软件版本: STM32CubeMX V4.25.0 System Workbench V2.4 固件库版本: STM32Cube FW_F1 V1.6.1 硬件:OneNet 麒麟座V2.3 在STM32CubeMX中新建项目,选择正确的MCU型号 首先设置RCC和SYS,如下图 然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图 GPIO设置 PC7, PC8, PA12和 PC10为GPIO_OUTPUT, (这是麒麟座V2.3的四
[单片机]
STM32单片机的GPIO输入、输出模式与配置方法
STM32 单片机是一款高性能、低功耗的 32 位微控制器,具有强大的计算能力、灵活的外设模块和实现微控制器应用所需的社区支持。在单片机应用中,GPIO 输入输出模式是必不可少的硬件接口之一。本文将介绍 STM32 单片机的 GPIO 输入、输出模式与配置方法。 一、 STM32 单片机 GPIO 简介 GPIO ,全称 General Purpose Input/Output,即通用输入输出口。它是一个通用的数字电平接口,可以极大地扩展单片机的应用范围。GPIO 的主要功能就是承载数据,它是单片机与外部设备或硬件进行数据通讯的桥梁,也是微控制器的重要运行部件之一。 STM32 单片机的 GPIO 端口主要分为以下两种: 1
[单片机]