news 2026/4/26 7:28:54

FreeRtos中I2C操作过程中被任务切换或者中断打断会不会出问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FreeRtos中I2C操作过程中被任务切换或者中断打断会不会出问题

疑问:一直有个疑问就是一些外设的驱动需不需要加临界区,比如i2c,我要写操作,要操作片选,写寄存器地址,写入数据,再操作片选。不加的话在写的中间有别的中断打断导致时序会不会出问题

答:如果是使用 MCU 的硬件外设(无论是 I2C/SPI 还是 UART): 不需要关中断。 因为硬件控制器(Shift Register)独立于 CPU 工作。CPU 被中断打断,只会导致‘两个字节之间’的发送间隔变长,而不会破坏‘一个字节内部’的波形时序。如果是软件模拟 (Bit-Bang):
模拟 I2C/SPI (同步): 不需要关中断。 因为你手里攥着时钟线 (SCL),你停,从机就停,波形只是暂停,不会畸变。
模拟 UART / 1-Wire(异步/时序敏感): 必须关中断! 这些协议靠‘脉冲持续时间’来通信。中断会把脉冲意外拉长,直接导致解码错误。

所以这里我们可以知道,如果是带有时钟线的,比如I2C,SPI这种,只用经过时钟线的调节才能正常接收的,任务切换和中断对他们没有影响,无论硬件I2C还是模拟I2C,不需要去管

但是单线通信的那种,使用的使用必须关中断,必须停止任务切换或者提高任务等级,如果水平不够,尽量不要去使用单总线通信的模块

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:51:24

uni-app—— 小程序表单页面键盘弹起布局错乱问题

问题现象 表单页面点击输入框,键盘弹起后:平台表现安卓输入框位置错位,光标飘到其他位置iOS键盘遮挡输入框,看不到输入内容问题原因 当页面同时存在以下三个因素时,容易出现布局错乱: scroll-view float布…

作者头像 李华
网站建设 2026/4/21 17:48:05

什么是Java可重入锁?

大家好,我是锋哥。今天分享关于【什么是Java可重入锁?】面试题。希望对大家有帮助; 什么是Java可重入锁? Java 可重入锁(Reentrant Lock)是 Java 中的一种高级同步工具,用于控制对共享资源的访…

作者头像 李华
网站建设 2026/4/25 2:43:58

基于MATLAB的三维装箱程序实现(遗传算法+模拟退火优化)

一、核心算法框架 三维装箱问题通过**遗传算法(GA)全局搜索与模拟退火(SA)**局部优化结合,解决多约束条件下的最优装箱问题。核心流程如下:数据输入:读取货物尺寸(长宽高&#xff09…

作者头像 李华
网站建设 2026/4/25 5:45:48

基于YOLOv8和RepGhost的轻量化目标检测优化与性能提升

文章目录 一、为什么毕设需要RepGhost? 二、RepGhost核心原理:“训练时变强,推理时变快” 1. 幽灵特征生成 2. 重参数化多分支结构 三、实战:给YOLOv8植入RepGhost“轻量化引擎” 环境准备 1. RepGhost模块实现 2. 改造YOLOv8配置文件 3. 训练与推理 训练命令 推理命令 四、…

作者头像 李华
网站建设 2026/4/22 0:23:27

Android 12 on RK3588:ASoC音频驱动与电池管理系统(BMS)协同优化全流程详解

文章目录 前言 一、Android 12音频系统架构深度解析 1.1 整体架构概览 1.2 各层职责详解 1.3 数据流转机制 二、ASoC音频驱动框架核心原理 2.1 ASoC架构设计理念 2.2 三大组件详细分析 Platform驱动 - 数字音频接口的大脑 音频数据传输流程深度解析 Codec驱动 - 模拟世界的桥梁…

作者头像 李华
网站建设 2026/4/24 3:40:58

国家电网Java面试被问:混沌工程在分布式系统中的应用

一、核心理念:从电力系统可靠性工程借鉴 1.1 混沌工程与电力系统可靠性的共鸣 关键点:将电力行业的“N-1准则”、“黑启动演练”思想引入分布式系统 text 复制 下载 电力系统 vs 分布式系统: • N-1准则(电力) ↔ …

作者头像 李华