一、STM32F103C8T6--GPIO

news/2024/10/18 18:18:30/文章来源:https://www.cnblogs.com/zmq-wj/p/18472708

STM32f103c8t6 32位Cortex-M3内核 RISC处理器,最高主频72MHZ,Flash:64KB,SRAM:20KB
片上外设:
I/O端口:

  • 多达37个GPIO引脚(支持复用功能)。
  • GPIO 端口支持输入、输出、上拉/下拉功能。

定时器

  • 3 个 16 位通用定时器(支持 PWM 输出)。********
  • 1 个高级定时器(支持多通道 PWM)。

通信接口:

  • 2 个 I2C 接口(支持主从模式)。
  • 2 个 SPI 接口(最大速率 18 MHz)。
  • 3 个 USART 接口(支持串口通信)。
  • 1 个 CAN 总线接口(支持高速通信)。

ADC:

  • 10 路 12 位 ADC 输入通道,支持单次、连续、扫描和不连续转换模式。
  • 最大采样速率 1 MHz,适合实时信号采集。

GPIO:

电气特性:
1、GPIO引脚支持5V容忍(即使供电3.3v,也可以承受5v信号输入)
2、I/O引脚电流驱动能力为20mA(可驱动LED、继电器等小负载)
3、可配置引脚速度:2MHz、10MHZ、50MHZ。适应不同疏导需求的信号。
8种工作模式:
1、浮空输入(Floating input):默认无上拉/下拉电阻,适用于信号可能长时间保持高阻态的应用(高阻态相当于开路,无电流驱动;高阻抗;不会干扰总线或电路)
适用于读取外部设备的信号或用于ADC模拟输入
2
例如:红外避障传感器;ADC输入;IIC总线也可以浮空输入SDA/SCL。
2、输入上拉/下拉(Pull-up/Pull-down input)
上拉:内部连接一个上拉电阻(连接到VCC),使引脚在未受外部信号作用时默认保持高电平。
下拉:内部连接一个下拉电阻(连接到GND),使引脚在未受外部信号作用时默认保存低电平。

3、推挽输出(Push-pull Output)
两种状态:

  • 高电平:当需要输出高电平时,P 型晶体管导通,N 型晶体管关闭,GPIO 引脚输出电压接近 VCC(通常为 3.3V 或 5V)。
  • 低电平:当需要输出低电平时,N 型晶体管导通,P 型晶体管关闭,GPIO 引脚与地(GND)连接,输出 0V。
    互补开关:P 型晶体管和 N 型晶体管交替导通/关断,确保输出电压稳定,不会出现高阻态(除非主动设置为输入模式)。

    推挽输出的特点:
1、高驱动能力:
推挽输出可以提供较大的电流驱动能力,通常可以达到 20mA 甚至更高,这使得推挽输出可以直接驱动 LED、蜂鸣器、继电器 等负载。
2、电平输出明确:
输出的电平要么是接近 VCC 的高电平,要么是接地的低电平,电平状态明确,不存在高阻态,确保信号稳定。
3、功耗相对较低:
在低电平或高电平输出时,推挽输出功耗较低,因为只有一个晶体管导通。/4、不适合总线型通信:
因为推挽输出会主动驱动高或低电平,不适用于 I2C 总线 这类需要多个设备共享同一引脚的场景。推挽输出的强制驱动会导致总线争用(Bus Contention)问题。

4、开漏输出
开漏输出是一种 GPIO 引脚的输出模式,通常用于 多设备共享总线或需要外部电路驱动的场合。在开漏输出模式下,GPIO 引脚只有低电平输出(导通时连接 GND),而没有直接的高电平输出。如果需要高电平,必须外接一个上拉电阻,使引脚在未被拉低时默认保持高电平。

开漏输出的特点
1、支持多设备总线:开漏输出允许多个设备共享同一根数据线,不同设备可以通过拉低总线电平发送信号,而不会造成冲突。这种机制非常适合像 I2C 这样多主从设备共享数据总线的通信协议。
例如:I2C 设备的 SDA 和 SCL 引脚都处于开漏模式,通过外接上拉电阻将总线保持在高电平。任何设备要发送信号时,只需拉低线上的电平,而不是主动输出高电平。这避免了多个设备同时输出高电平和低电平时的冲突(总线争用)。
2、需要外部上拉电阻:开漏输出模式下,GPIO 引脚本身不能输出高电平。因此,需要通过外部上拉电阻确保引脚默认是高电平。
3、可控驱动低电平:开漏输出模式可以拉低电平(接地),这使得它适合控制外部供电设备、LED 和继电器等需要低电平控制的场景。
4、保护设备免受冲突:在某些应用中,开漏输出可以防止多个设备同时驱动总线到不同的电平,避免损坏。

5、模拟输入
模拟输入是指 GPIO 引脚配置为接收模拟信号,并通过 ADC(模数转换器,Analog-to-Digital Converter) 将模拟信号转换为数字信号,供微控制器进行处理。
ADC 分辨率:12 位(输入范围 0V ~ Vref,可转换为 0 ~ 4095 的数字值)。(例如:将3.3V参考电压分成4095份,每一份就是电压的分辨率及 3.3/4095)

模拟输入的注意事项
1、信号处理:由于 ADC 转换可能受到噪声或其他干扰,通常需要对输入的模拟信号进行滤波(如使用硬件低通滤波器或软件平均滤波)。
2、参考电压的稳定性:ADC 转换的精度受参考电压的影响,参考电压(Vref)应尽量稳定,否则会导致 ADC 读数不准确。
3、采样时间的选择:采样时间与信号的响应时间有关,选择适当的采样时间可以提高精度,避免读取过多噪声。
4、电源电压和输入范围:输入电压应在 0 到 Vref 范围内。如果输入信号超过参考电压范围,需要使用分压器降低输入电压。

6、复用推挽输出
复用推挽输出是 GPIO 引脚的一种工作模式,在该模式下,GPIO 引脚不仅可以像普通推挽输出那样输出高电平和低电平,还可以复用为 外设功能引脚,如 USART、SPI、I2C、定时器输出等。通过复用功能,可以将 GPIO 引脚的输出与特定的外设模块关联,以执行特定的通信或控制任务。
7、复用开漏输出
复用开漏输出是 GPIO 的一种工作模式,GPIO 引脚被配置为 开漏输出 并且复用为特定外设功能。在这种模式下,GPIO 引脚可以与某些外设模块(如 I2C、SMBus 等总线型协议)相结合,作为外设功能引脚使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/816492.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

订阅

订阅权限配置类型 来源 备注订阅消息 微信后台开通 必需消息推送 微信后台开通 必需官方文档链接:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html相关权限设置: 一:登录微信后台,选择开发管理,启用消息推送。二:选择订…

cornerstone中RAFT的buffer的实现

1.概览: 谈到raft协议实现就绕不开网上流行的mit6.824,但其为go语言,官方没有lab的答案,框架也很晦涩难懂,且全网没有一个博客对其有清晰的解释,有的只是甩一堆名词然后直接贴没有任何注释的代码,非常不适合学习。 但是github上面的cornerstone是纯c++实现的一个非常优雅…

Dbeaver24.2.2安装和使用教程(免费的数据库管理工具)

前言 DBeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。 DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等。 下载…

支付

支付权限配置类型 来源 备注虚拟支付 微信后台开通 必需微信支付 微信后台开通 必需虚拟支付设置:官方文档链接:https://developers.weixin.qq.com/minigame/dev/guide/open-ability/virtual-payment/virtual-payment2.html一:进入微信后台,进入虚拟支付模块,看到右上角出…

五款实用GIS工具箱推荐,帮你轻松搞定各类GIS问题

1. GISBox 简介:GISBox 是一款集成化的GIS工具箱,能够进行GIS影像、地形和倾斜摄影的实时编辑、格式转换和服务发布。它支持多种GIS文件格式的转换,并且允许用户免费发布影像、地形和倾斜摄影服务。 优点:免费服务发布:支持 3DTiles、Terrain、WMTS 等协议发布,且不收取费…

Rider设置

自动换行强制换行&换行线 (设置成0)设置自定义背景色保存自动格式化代码格式化可以自定义,格式化范围也可以自定义

数据采集与融合技术作业2

作业2我的getee仓库链接 https://gitee.com/LLLzt-III/crawl_project 作业1代码链接 https://gitee.com/LLLzt-III/crawl_project/tree/master/作业2一、作业①:要求:在中国气象网(http://www.weather.com.cn)给定城市集的7日天气预报,并保存在数据库。 输出信息:Gitee文件…

Qt cmake修改.exe程序图标

1。在项目根目录创建一个 app.rc 文件,文件内容 IDI_ICON1 ICON DISCARDABLE "logo.ico"。 2。准备一个.ico 文件放到项目根目录(这个文件不可以直接用 .png .jpg 改后缀,可以通过网络工具转成 .ico 文件)。 3。将.ico文件在QT项目里的.qrc资源里加入(.qrc文件需…

第147篇:微信小程序开发中Promise的使用(aysnc,await)

好家伙,0.错误描述 今天在开发中犯了一个比较严重的错误 对于Promise的错误使用场景: 微信小程序中展示搜索条件列表// API请求工具函数 const apiRequest = (url, method = GET, headers = {}) => {return new Promise((resolve, reject) => {wx.request({url,method,he…

Playable Director

目录组件介绍字段说明使用Timeline资源 组件介绍Unity原生组件,Playable Director 组件存储时间轴实例和时间轴资源之间的链接。Playable Director 组件控制时间轴实例的播放时间、时间轴实例更新其时钟的方式以及在时间轴实例完成播放后发生的操作。字段说明playable TimeLin…

细说STC15单片机I/O口的四种工作模式

STC15单片机I/O口有四种模式,分别是准双向口、推挽输出、高阻输入和开漏输出。那么什么是准双向口、推挽输出、高阻输入和开漏输出呢?单片机的这四种模式又是怎么体现出来呢?我们来看看STC15芯片手册上各种模式的说明如下图所示。 准双向口:与传统8051的P1、P2和P3口相同模…

dp一遍通

前言 马上csp-s考试了,却发现自己dp太菜了,打算恶补dp 线性dp理解 递推/记忆化搜索,有很多种理解方式 递归重叠子问题的记忆化搜索:像这里例如 \(f[3]\) 可以通过一次计算得到,保存答案,下一次直接调用即可,省去很多复杂度 我们从此引出dp第一个性质:最优子结构 大问题…