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

A21 STM32_HAL库函数 之 I2c通用驱动程序 -- B -- 所有函数的介绍及使用

A21 STM32_HAL库函数 之 I2c通用驱动程序 -- B -- 所有函数的介绍及使用

  • 1 该驱动函数预览
    • 1.12 HAL_I2C_Master_Sequential_Receive_IT
    • 1.13 HAL_I2C_Slave_Transmit_IT
    • 1.14 HAL_I2C_Slave_Receive_IT
    • 1.15 HAL_I2C_Slave_Sequential_Transmit_IT
    • 1.16 HAL_I2C_Slave_Sequential_Receive_IT
    • 1.17 HAL_I2C_EnableListen_IT
    • 1.18 HAL_I2C_DisableListen_IT
    • 1.19 HAL_I2C_Master_Transmit_DMA
    • 1.20 HAL_I2C_Master_Receive_DMA
    • 1.21 HAL_I2C_Master_Abort_IT
    • 1.22 HAL_I2C_Slave_Transmit_DMA
  • 该文档修改记录:
  • 总结

1 该驱动函数预览

序号函数名描述
1HAL_I2C_Init()初始化I2C总线。
2HAL_I2C_DeInit()反初始化I2C总线。
3HAL_I2C_MspInit()初始化MCU外设相关的I2C引脚或资源。
4HAL_I2C_MspDeInit()反初始化MCU外设相关的I2C引脚或资源。
5HAL_I2C_Master_Transmit()主机发送数据到I2C设备。
6HAL_I2C_Master_Receive()主机从I2C设备接收数据。
7HAL_I2C_Slave_Transmit()从I2C设备发送数据到主机。
8HAL_I2C_Slave_Receive()从I2C设备接收主机发送的数据。
9HAL_I2C_Master_Transmit_IT()使用中断发送数据到I2C设备。
10HAL_I2C_Master_Receive_IT()使用中断从I2C设备接收数据。
11HAL_I2C_Master_Sequential_Transmit_IT()使用中断连续发送数据到I2C设备。
12HAL_I2C_Master_Sequential_Receive_IT()使用中断连续从I2C设备接收数据。
13HAL_I2C_Slave_Transmit_IT()使用中断从I2C设备发送数据到主机。
14HAL_I2C_Slave_Receive_IT()使用中断从I2C设备接收主机发送的数据。
15HAL_I2C_Slave_Sequential_Transmit_IT()使用中断连续从I2C设备发送数据到主机。
16HAL_I2C_Slave_Sequential_Receive_IT()使用中断连续从I2C设备接收主机发送的数据。
17HAL_I2C_EnableListen_IT()启用I2C设备的监听模式,并使用中断处理监听事件。
18HAL_I2C_DisableListen_IT()禁用I2C设备的监听模式。
19HAL_I2C_Master_Transmit_DMA()使用DMA发送数据到I2C设备。
20HAL_I2C_Master_Receive_DMA()使用DMA从I2C设备接收数据。
21HAL_I2C_Master_Abort_IT()使用中断终止I2C主机模式下的传输。
22HAL_I2C_Slave_Transmit_DMA()使用DMA从I2C设备发送数据到主机。
23HAL_I2C_Slave_Receive_DMA()使用DMA从I2C设备接收主机发送的数据。
24HAL_I2C_Mem_Write()写入I2C外设的存储器。
25HAL_I2C_Mem_Read()从I2C外设的存储器读取数据。
26HAL_I2C_Mem_Write_IT()使用中断写入I2C外设的存储器。
27HAL_I2C_Mem_Read_IT()使用中断从I2C外设的存储器读取数据。
28HAL_I2C_Mem_Write_DMA()使用DMA写入I2C外设的存储器。
29HAL_I2C_Mem_Read_DMA()使用DMA从I2C外设的存储器读取数据。
30HAL_I2C_IsDeviceReady()检测I2C设备是否准备好。
31HAL_I2C_EV_IRQHandler()I2C事件中断处理程序。
32HAL_I2C_ER_IRQHandler()I2C错误中断处理程序。
33HAL_I2C_MasterT

xCpltCallback() | I2C主机发送完成回调函数。 |
| 34 | HAL_I2C_MasterRxCpltCallback() | I2C主机接收完成回调函数。 |
| 35 | HAL_I2C_SlaveTxCpltCallback() | I2C从机发送完成回调函数。 |
| 36 | HAL_I2C_SlaveRxCpltCallback() | I2C从机接收完成回调函数。 |
| 37 | HAL_I2C_AddrCallback() | I2C地址匹配回调函数。 |
| 38 | HAL_I2C_ListenCpltCallback() | I2C监听模式完成回调函数。 |
| 39 | HAL_I2C_MemTxCpltCallback() | I2C存储器发送完成回调函数。 |
| 40 | HAL_I2C_MemRxCpltCallback() | I2C存储器接收完成回调函数。 |
| 41 | HAL_I2C_ErrorCallback() | I2C错误回调函数。 |
| 42 | HAL_I2C_AbortCpltCallback() | I2C终止完成回调函数。 |
| 43 | HAL_I2C_GetState() | 获取I2C总线的状态。 |
| 44 | HAL_I2C_GetMode() | 获取I2C总线的模式。 |
| 45 | HAL_I2C_GetError() | 获取I2C总线的错误状态。 |

以下是使用模板:

#include "stm32f4xx_hal.h"int main(void) {// HAL初始化HAL_Init();// 初始化MCU外设相关的I2C引脚或资源HAL_I2C_MspInit();// 初始化I2C总线HAL_I2C_Init();// 进行其他操作...// 主机发送数据到I2C设备HAL_I2C_Master_Transmit();// 主机从I2C设备接收数据HAL_I2C_Master_Receive();// 从I2C设备发送数据到主机HAL_I2C_Slave_Transmit();// 从I2C设备接收主机发送的数据HAL_I2C_Slave_Receive();// 使用中断发送数据到I2C设备HAL_I2C_Master_Transmit_IT();// 使用中断从I2C设备接收数据HAL_I2C_Master_Receive_IT();// 使用DMA发送数据到I2C设备HAL_I2C_Master_Transmit_DMA();// 使用DMA从I2C设备接收数据HAL_I2C_Master_Receive_DMA();// I2C事件中断处理程序HAL_I2C_EV_IRQHandler();// I2C错误中断处理程序HAL_I2C_ER_IRQHandler();// 获取I2C总线的状态uint32_t i2cState = HAL_I2C_GetState();// 获取I2C总线的模式uint32_t i2cMode = HAL_I2C_GetMode();// 获取I2C总线的错误状态uint32_t i2cError = HAL_I2C_GetError();// 反初始化I2C总线HAL_I2C_DeInit();// 反初始化MCU外设相关的I2C引脚或资源HAL_I2C_MspDeInit();return 0;
}

1.12 HAL_I2C_Master_Sequential_Receive_IT

函数名HAL_I2C_Master_Sequential_Receive_IT
函数原形HAL_StatusTypeDef HAL_I2C_Master_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
功能描述通过中断以顺序传输方式从 I2C 从机接收数据
输入参数 1hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输入参数 2DevAddress:从机地址
输入参数 3pData:指向存储接收数据的缓冲区
输入参数 4Size:要接收的数据长度
输入参数 5XferOptions:传输选项
输出参数
返回值HAL_StatusTypeDef:接收状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.13 HAL_I2C_Slave_Transmit_IT

函数名HAL_I2C_Slave_Transmit_IT
函数原形HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
功能描述通过中断发送数据到 I2C 主机

输入参数 1 | hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体 |
| 输入参数 2 | pData:指向要发送的数据缓冲区 |
| 输入参数 3 | Size:要发送的数据长度 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:传输状态,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |


1.14 HAL_I2C_Slave_Receive_IT

函数名HAL_I2C_Slave_Receive_IT
函数原形HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
功能描述通过中断从 I2C 主机接收数据
输入参数 1hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输入参数 2pData:指向存储接收数据的缓冲区
输入参数 3Size:要接收的数据长度
输出参数
返回值HAL_StatusTypeDef:接收状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.15 HAL_I2C_Slave_Sequential_Transmit_IT

函数名HAL_I2C_Slave_Sequential_Transmit_IT
函数原形HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
功能描述通过中断以顺序传输方式发送数据到 I2C 主机
输入参数 1hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输入参数 2pData:指向要发送的数据缓冲区
输入参数 3Size:要发送的数据长度
输入参数 4XferOptions:传输选项
输出参数
返回值HAL_StatusTypeDef:传输状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.16 HAL_I2C_Slave_Sequential_Receive_IT

函数名HAL_I2C_Slave_Sequential_Receive_IT
函数原形HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
功能描述通过中断以顺序传输方式从 I2C 主机接收数据
输入参数 1hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输入参数 2pData:指向存储接收数据的缓冲区
输入参数 3Size:要接收的数据长度
输入参数 4XferOptions:传输选项
输出参数
返回值HAL_StatusTypeDef:接收状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.17 HAL_I2C_EnableListen_IT

函数名HAL_I2C_EnableListen_IT
函数原形HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
功能描述使能 I2C 的监听模式
输入参数hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.18 HAL_I2C_DisableListen_IT

函数名HAL_I2C_DisableListen_IT
函数原形HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
功能描述禁用 I2C 的监听模式
输入参数hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.19 HAL_I2C_Master_Transmit_DMA

函数名HAL_I2C_Master_Transmit_DMA
函数原形HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)
功能描述通过 DMA 发送数据到 I2C 从机
输入参数 1hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输入参数 2DevAddress:从机地址
输入参数 3pData:指向要发送的数据缓冲区
输入参数 4Size:要发送的数据长度
输出参数
返回值HAL_StatusTypeDef:传输状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.20 HAL_I2C_Master_Receive_DMA

函数名HAL_I2C_Master_Receive_DMA
函数原形HAL_Status

TypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size) |
| 功能描述 | 通过 DMA 从 I2C 从机接收数据 |
| 输入参数 1 | hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体 |
| 输入参数 2 | DevAddress:从机地址 |
| 输入参数 3 | pData:指向存储接收数据的缓冲区 |
| 输入参数 4 | Size:要接收的数据长度 |
| 输出参数 | 无 |
| 返回值 | HAL_StatusTypeDef:接收状态,可以是 HAL_OK 或 HAL_ERROR |
| 先决条件 | 无 |
| 被调用函数 | 无 |


1.21 HAL_I2C_Master_Abort_IT

函数名HAL_I2C_Master_Abort_IT
函数原形HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c)
功能描述通过中断终止 I2C 主机的传输
输入参数hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输出参数
返回值HAL_StatusTypeDef:操作状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

1.22 HAL_I2C_Slave_Transmit_DMA

函数名HAL_I2C_Slave_Transmit_DMA
函数原形HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
功能描述通过 DMA 发送数据到 I2C 主机
输入参数 1hi2c:I2C 句柄,指向一个 I2C_HandleTypeDef 结构体
输入参数 2pData:指向要发送的数据缓冲区
输入参数 3Size:要发送的数据长度
输出参数
返回值HAL_StatusTypeDef:传输状态,可以是 HAL_OK 或 HAL_ERROR
先决条件
被调用函数

该文档修改记录:

修改时间修改说明
2024年4月30日第一次发布,介绍了该博客驱动所有函数的介绍及使用

总结

以上就是该博客驱动所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

相关文章:

A21 STM32_HAL库函数 之 I2c通用驱动程序 -- B -- 所有函数的介绍及使用

A21 STM32_HAL库函数 之 I2c通用驱动程序 -- B -- 所有函数的介绍及使用 1 该驱动函数预览1.12 HAL_I2C_Master_Sequential_Receive_IT1.13 HAL_I2C_Slave_Transmit_IT1.14 HAL_I2C_Slave_Receive_IT1.15 HAL_I2C_Slave_Sequential_Transmit_IT1.16 HAL_I2C_Slave_Sequential_R…...

简介:Asp.Net Core进阶高级编程教程

课程简介目录 🚀前言一、课程背景二、课程目的三、课程特点四、课程适合人员六、最后 🚀前言 本文是《.Net Core进阶编程课程》教程专栏的导航站(点击链接,跳转到专栏主页,欢迎订阅,持续更新…&#xff09…...

Linux系统中LVM与磁盘配额

目录 一、LVM逻辑卷管理 二、LVM的管理命令 物理卷管理 卷组管理 逻辑卷管理 *创建并使用LVM步骤 三、磁盘配额概述 实现磁盘限额的条件 Linux 磁盘限额的特点 四、磁盘配额管理 磁盘限额 一、LVM逻辑卷管理 能够在保持现有数据不变的情况下动态调整磁盘容量&#…...

手机重启手app没了

发现公司有些Android球机设备,安装了一些app,重启后app没了,还有公司的一些Android手机,原来是没问题的,不知道哪天起,只要重启,新安装的软件就会没了,很神奇。后来发现,…...

github上传代码

偷一下懒,把链接贴一下,后续再补充。 1.下载Git 【学习笔记】上传代码到GitHub(保姆级教程) 2.如何创建GitHub仓库 手把手教你在github上传文件 3.如何删掉GitHub仓库 github如何删除仓库或项目? 4.遇到的错误 …...

Qt+vstudio2022的报错信息积累

从今天开始记录一下平常开发工作中的报错记录,后续有错误动态补充! 报错信息:【MSB8041】此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构安装它们。 解决: 背景:换…...

力扣练习题(2024/4/16)

1买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔…...

c++中一些常用库函数

1.最大公约数 需要包括头文件#include<algorithm>,直接写__gcd(a,b),就是求a与b的最大公约数。 #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #include<stack> #include<map>…...

竞赛 基于GRU的 电影评论情感分析 - python 深度学习 情感分类

文章目录 1 前言1.1 项目介绍 2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测 5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于GRU的 电影评论情感分析 该项目较为新颖&#xff0c;适合作为竞…...

软件杯 深度学习图像修复算法 - opencv python 机器视觉

文章目录 0 前言2 什么是图像内容填充修复3 原理分析3.1 第一步&#xff1a;将图像理解为一个概率分布的样本3.2 补全图像 3.3 快速生成假图像3.4 生成对抗网络(Generative Adversarial Net, GAN) 的架构3.5 使用G(z)生成伪图像 4 在Tensorflow上构建DCGANs最后 0 前言 &#…...

java日志log4j使用

1、导入jar包 log4j-1.2.17.jar log4j-api-2.0-rc1.jar log4j-core-2.0-rc1.jar https://download.csdn.net/download/weixin_44201223/89148839 所需jar包下载地址 2、创建 log4j.properties src 下创建 log4j.properties (路径和名称都不允许改变)&#xff0c;放置 src 下…...

探索Python爬虫利器:Scrapy框架解析与实战

探索Python爬虫利器&#xff1a;Scrapy框架解析与实战 在当今信息时代&#xff0c;数据的价值不言而喻。而Python爬虫技术&#xff0c;作为获取网络数据的重要手段&#xff0c;已经成为了许多数据分析师、开发者和研究者必备的技能。本文将为您详细介绍Python爬虫技术中的利器—…...

Rust腐蚀服务器修改背景和logo图片操作方法

Rust腐蚀服务器修改背景和logo图片操作方法 大家好我是艾西一个做服务器租用的网络架构师。在我们自己搭建的rust服务器游戏设定以及玩法都是完全按照自己的想法设定的&#xff0c;如果你是一个社区服那么对于进游戏的主页以及Logo肯定会有自己的想法。这个东西可以理解为做一…...

【架构-15】NoSQL数据库

NoSQL&#xff08;Not Only SQL&#xff09;数据库是一类非关系型数据库&#xff0c;与传统的关系型数据库&#xff08;如MySQL、Oracle&#xff09;相对而言。NoSQL数据库的设计目标是针对大规模数据和高并发访问的需求&#xff0c;具有高可扩展性、高性能和灵活的数据模型。 …...

中国人工智能产业年会智能交通与自动驾驶专题全景扫描

中国人工智能产业年会&#xff08;CAIIAC&#xff09;是中国人工智能技术发展和应用的重要展示平台&#xff0c;不仅关注创新&#xff0c;还涵盖了市场和监管方面的内容&#xff0c;对于促进人工智能领域的发展起到了重要作用。年会汇集了来自学术界、工业界和政府的专家&#…...

SpringBoot相关知识点总结

1 SpringBoot的目的 简化开发&#xff0c;开箱即用。 2 Spring Boot Starter Spring Boot Starter 是 Spring Boot 中的一个重要概念&#xff0c;它是一种提供依赖项的方式&#xff0c;可以帮助开发人员快速集成各种第三方库和框架。Spring Boot Starter 的目的是简化 Sprin…...

【QT】关于qcheckbox常用的三个信号,{sstateChanged(int) clicked() clicked(bool)}达成巧用

在 Qt 中&#xff0c;QCheckBox 是一个提供复选框功能的小部件&#xff0c;允许用户选择和取消选择一个或多个选项。QCheckBox 提供了几种信号来响应用户的交互&#xff0c;其中 stateChanged(int), clicked(), 和 clicked(bool) 是常用的。下面解释这些信号的意义及其用法。 …...

在线音乐网站的设计与实现

在线音乐网站的设计与实现 摘 要 在社会和互联网的快速发展中&#xff0c;音乐在人们生活中也产生着很大的作用。音乐可以使我们紧张的神经得到放松&#xff0c;有助于开启我们的智慧&#xff0c;可以辅助治疗&#xff0c;达到药物无法达到的效果&#xff0c;所以利用现代科学…...

【电路笔记】-数字缓冲器

数字缓冲器 文章目录 数字缓冲器1、概述2、单输入数字缓冲器3、三态缓冲器3.1 有效“高”三态缓冲器3.2 有效“高”反相三态缓冲器3.3 有效“低”三态缓冲器3.4 有效“低”反相三态缓冲器4、三态缓冲器控制数字缓冲器和三态缓冲器可以在数字电路中提供电流放大以驱动输出负载。…...

Opencv | 基于ndarray的基本操作

这里写目录标题 一. Opencv 基于ndarray的基本操作1. 浅拷贝2. np.copy ( ) 深拷贝3. 堆叠3.1 np.vstack ( ) 垂直方向堆叠3.2 np.hstack ( ) 水平方向堆叠 4. numpy创建图像5 np.transpose ( ) 更改维度顺序6. cv.resize ( ) 放大缩小7. np.clip ( ) 一. Opencv 基于ndarray的…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...