当前位置: 首页 > news >正文

STM32使用IIC通信的引脚配置问题

STM32使用IIC通信的引脚配置问题

在使用IIC通信时,遇到引脚配置问题,记录一下:
IIC的两个引脚SDA和SCL都要求既能输入又能输出。

问题

SDA线是由不同的器件分时控制的,这样就会有一个问题:当一个器件主动置高或者置低时,如果另一个器件发出相反电平,就会造成短路。

如果将SDA引脚配置成推挽模式,就会有短路的风险。

ALIENTEK是这样解决的:在主机(单片机)控制SDA线时,将其SDA引脚配置成推挽输出;在从机(EEPROM)控制SDA线时,将单片机的引脚配置成上拉/下拉输入,用频繁的配置切换来避免这个问题。

但是这样做感觉比较麻烦,所以STM32有一个开漏的配置,它与推挽有点像,但不完全一样。

开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器的’1’将端口置于高阻状态(P-MOS从不被激活)。

推挽模式:输出寄存器上的’0’激活N-MOS,而输出寄存器的’1’将激活P-MOS。

在这里插入图片描述

因此,使用开漏就能很好的解决这个问题:当单片机的SDA引脚置低时,SDA线被拉低;当单片机的SDA引脚置高时,实际上引脚是浮空的,SDA线通过外接上拉电阻被VCC拉高(IIC的SDA、SCL两条线都要通过上拉电阻接到VCC,典型接法),这样就不会出现短路的状况,很巧妙。(接一个外接上拉电阻就类似于有一根弹簧,缓缓地将引脚从浮空状态拉到高电平)

相关文章:

STM32使用IIC通信的引脚配置问题

STM32使用IIC通信的引脚配置问题 在使用IIC通信时,遇到引脚配置问题,记录一下: IIC的两个引脚SDA和SCL都要求既能输入又能输出。 问题: SDA线是由不同的器件分时控制的,这样就会有一个问题:当一个器件主动…...

题解 | #K.First Last# 2023牛客暑期多校10

K.First Last 签到题 题目大意 n n n 个人参加 m m m 场比赛,每场比赛中获得名次得概率均等 问针对某一人,他在所有场次比赛中都获得第一或倒数第一的概率 解题思路 如果人数 n > 1 n>1 n>1 ,每场比赛的概率是 p 2 n p\dfra…...

Python 程序设计入门(025)—— 使用 os 模块操作文件与目录

Python 程序设计入门(025)—— 使用 os 模块操作文件与目录 目录 Python 程序设计入门(025)—— 使用 os 模块操作文件与目录一、操作目录的常用函数1、os 模块提供的操作目录的函数2、os.path 模块提供的操作目录的函数 二、相对…...

excel逻辑函数篇1

1、AND(logical1,[logical2],…):用于测试所有条件是否均为TRUE 检查所有参数均为true,如果是则返回true 2、OR(logical1,[logical2],…):用于测试是否有为TRUE的条件 如果任意参数值为true,即返回true;只有当所有参数…...

前端基础(Vue的模块化开发)

目录 前言 响应式基础 ref reactive 学习成果展示 Vue项目搭建 总结 前言 前面学习了前端HMTL、CSS样式、JavaScript以及Vue框架的简单适用,接下来运用前面的基础继续学习Vue,运用前端模块化编程的思想。 响应式基础 ref reactive 关于ref和react…...

SystemVerilog interface使用说明

1. Interface概念 System Verilog中引入了接口定义,接口与module 等价的定义,是要在其他的接口、module中直接定义,不能写在块语句中,跟class是不同的。接口是将一组线捆绑起来,可以将接口传递给module。 2. 接口的优…...

机器人制作开源方案 | 送餐机器人

作者:赖志彩、曹柳洲、王恩开、李雪儿、杨玉凯 单位:华北科技学院 指导老师:张伟杰、罗建国 一、作品简介 1. 场景调研 1.1项目目的 近年来,全国多地疫情频发,且其传染性极高,食品接触是传播途径之一。…...

Gradio部署应用到服务器不能正常访问

用Gradio部署一个基于ChatGLM-6B的应用,发布到团队的服务器上(局域网,公网不能访问),我将gradio应用发布到服务器的9001端口 import gradio as gr with gr.Blocks() as demo:......demo.queue().launch(server_port90…...

数据暴涨时代,该如何数据治理?_光点科技

随着信息技术的迅猛发展,数据已经成为现代社会的核心资源。在这个被称为"数据暴涨时代"的时代里,大量的数据源源不断地被产生和积累,但如何有效地管理、分析和利用这些数据成为了一个迫切需要解决的问题。数据治理,作为…...

2021年03月 C/C++(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;找和为K的两个元素 在一个长度为n(n < 1000)的整数序列中&#xff0c;判断是否存在某两个元素之和为k。 时间限制&#xff1a;1000 内存限制&#xff1a;65536 输入 第一行输入序列的长度n和k&#xff0c;用空格分开。 第二行输入序列中的n个整数&#xff…...

GPT-5出世?OpenAI GPT-5商标已注册

OpenAI的GPT已经成为了业界标杆&#xff0c;升级速度之快让人瞠目&#xff0c;别人追GPT-3.5的时候GPT-4横空出世&#xff0c;差距被拉开了&#xff0c;现在GPT-5就要来了。 据商标律师泄露的消息&#xff0c;OpenAI已于7月18日注册了GPT-5商标。虽然注册商标并不罕见&#xf…...

优雅的使用 Dockerfile 定制镜像

一、使用 Dockerfile 定制镜像 1.1、Dockerfile 定制镜像 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本&#xff0c;用这个脚本来构建、定制镜像&#xff0c;无法重复的问题、镜像构建透明性的问题、…...

limit的用法mysql

当你在 MySQL 数据库中使用 LIMIT 语句&#xff0c;它可以用于限制查询结果的行数。这在分页查询或者限制返回的数据量时非常有用。下面是一些示例&#xff1a; 返回前几行数据&#xff1a; SELECT * FROM Customers LIMIT 5;这将返回 Customers 表中的前 5 行数据。 分页查…...

clickhouse Checksum doesn‘t match: 问题修复

1. 问题描述 SQL 错误 [40] [07000]: Code: 40. DB::Exception: Checksum doesnt match: corrupted data. Reference: 50e8c1efa78de2881b725d44b04be1fe. Actual: 161c99eb681ec36b83540ecdd65ad8c9. Size of compressed block: 32846. The mismatch is caused by single bit…...

企业如何开展个人信息安全影响评估(PIA)二

基本概念 根据《信息安全 技术个人信息安全影响评估指南》&#xff08;GB/T 39335—2020&#xff1b;personal information security impact assessment&#xff0c;简称“PIA”&#xff09;&#xff0c;个人信息安全影响评估是指针对个人信息处理活动&#xff0c;检验其合法合…...

android TextView 超出长度使用省略号

在Android中最常见的需求&#xff0c;就是在在外部展示信息时&#xff0c;需要简要展示内容。TextView仅需在静态布局文件中设置以下几个属性&#xff1a; android:maxWidth“100dp” // 宽度是多少才算超出 android:maxLines"2" // 高度多少才算超出 android:elli…...

c++ | 字节转换 | 字长 | 机器位数

为什么有的时候脑子转不过来&#xff1f;&#xff1f; 为什么要对字节、机器长啊、位啊都要门清 位数 一般的就是指计算机的位数&#xff0c;比如64位/32位&#xff0c;更简单的理解&#xff0c;计算机就是在不停的做二进制的计算&#xff0c;比如32位计算机&#xff0c;在长…...

7-4 交换最小值和最大值

分数 15 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 本题要求编写程序&#xff0c;先将输入的一系列整数中的最小值与第一个数交换&#xff0c;然后将最大值与最后一个数交换&#xff0c;最后输出交换后的序列。 注意&#xff1a;题目保证最大和最小值都是唯一的。…...

解决Pycharm的Settings中Project不见了也无法选择Python Interpreter的方法

目录 一、问题如下二、解决方法 一、问题如下 突然打开项目没有python解释器&#xff0c;也无法重新配置python Interpreter&#xff0c;而且整个文件夹是黄色高亮的形式&#xff0c;如下显示&#xff0c;而且重新安装了pycharm也没用甚至说打开File–>Setting–>Projec…...

AWS EKS 集群自动扩容 Cluster Autoscaler

文章目录 一&#xff0c;需求工作需求说明 二&#xff0c;部署精简命令执行1&#xff0c;要求2&#xff0c;查看EC2 Auto Scaling groups Tag3&#xff0c;创建Serviceaccount需要的Policy&#xff0c;Role4&#xff0c;部署Cluster Autoscaler5&#xff0c;验证6&#xff0c;常…...

除了卸载浏览器,ADB还能帮你清理哪些OPPO手机预装软件?附完整包名清单

深度优化OPPO手机&#xff1a;ADB卸载非必要预装应用全指南 对于追求系统纯净度的OPPO手机用户而言&#xff0c;预装应用往往占据宝贵存储空间并消耗后台资源。本文将系统介绍如何利用Android Debug Bridge&#xff08;ADB&#xff09;工具精准管理ColorOS系统中的各类预装组件…...

oracle 大表(1亿以上)迁移笔记一

作者:蓝鸟 1974 CSDN:https://blog.csdn.net/weixin_42767242 关键字 大表迁移、存储过程批量归档、定时 JOB、索引维护、统计信息收集、NOLOGGING、BULK COLLECT、FORALL 一、场景概述 在医院 HIS/EMR 系统中,业务流水表、病历明细表数据增长极快,单表数据量轻松突破…...

基于ETAS RTA-OS的Autosar OS详解(二)—— 调度策略与栈管理的实战权衡

1. 调度策略的实战选择与性能影响 在嵌入式系统开发中&#xff0c;任务调度策略的选择直接影响系统实时性和稳定性。ETAS RTA-OS作为Autosar标准操作系统&#xff0c;提供了三种经典调度策略&#xff0c;每种策略都有其独特的适用场景和性能特征。 1.1 打断式调度的优势与陷阱…...

AI应用网关ai-proxy:统一管理多模型API调用,实现路由、缓存与限流

1. 项目概述&#xff1a;一个为AI应用量身打造的智能代理网关如果你正在开发或部署基于大语言模型&#xff08;LLM&#xff09;的应用&#xff0c;比如一个聊天机器人、一个代码助手&#xff0c;或者一个内容生成工具&#xff0c;那么你大概率会遇到一个头疼的问题&#xff1a;…...

Unified Access Control:从NAS到RRC的5G接入控制全流程解析

1. 5G统一接入控制&#xff08;UAC&#xff09;的核心逻辑 想象一下你走进一家高级会员制餐厅&#xff0c;服务员会先检查你的会员卡&#xff08;身份验证&#xff09;&#xff0c;再确认你的预约类型&#xff08;业务类别&#xff09;&#xff0c;最后根据当天客流情况&#x…...

鲲鹏超节点系统应用创新竞争力

鲲鹏超节点通过灵衢互联&#xff0c;打破传统的服务器边界&#xff0c;实现以数据为中心的全互联架构&#xff0c;为AI infra而生&#xff0c;具备大带宽、低时延、统一编址、内存语义、内存借用、内存共享、对等互联等关键能力&#xff0c;灵衢软件全面开源开放&#xff0c;让…...

如何快速上手PCL点云库:10个核心模块详解与实践

如何快速上手PCL点云库&#xff1a;10个核心模块详解与实践 【免费下载链接】pcl-learning &#x1f525;PCL&#xff08;Point Cloud Library&#xff09;点云库学习记录 项目地址: https://gitcode.com/gh_mirrors/pc/pcl-learning PCL&#xff08;Point Cloud Librar…...

容器化GUI自动化:基于Xvfb与xdotool的无头点击测试实践

1. 项目概述与核心价值最近在折腾一些自动化测试和模拟操作的项目&#xff0c;发现了一个挺有意思的镜像&#xff1a;instavm/clickclickclick。光看名字&#xff0c;你大概能猜到它的核心功能——点击。没错&#xff0c;这是一个专门用于模拟鼠标点击、键盘输入等图形界面&…...

2026年小白程序员必看:5项吃香AI技能,助你薪资翻倍(建议收藏)

2026年小白程序员必看&#xff1a;5项吃香AI技能&#xff0c;助你薪资翻倍&#xff08;建议收藏&#xff09; 随着AI大模型重构职场规则&#xff0c;掌握相关技能将极大提升工作效率和薪资。本文为小白和程序员推荐了5项最吃香的AI技能&#xff1a;RAG、提示词工程、多模态大模…...

双系统党必看:如何把Windows 11设为Ubuntu GRUB菜单的默认启动项(保姆级图文)

双系统用户终极指南&#xff1a;优雅配置GRUB默认启动Windows 11 作为一名长期在Windows和Ubuntu双系统间切换的用户&#xff0c;我完全理解那种开机时盯着GRUB菜单等待倒计时结束的焦躁感。特别是当你赶着开会却误入Ubuntu&#xff0c;或是深夜想打游戏却手滑选了错误选项时&a…...