五种嵌入式经典通信总线协议

一.先前知识

1.并行与串行

并行通信和串行通信是两种不同的数据传输方式:

  1. 并行通信:并行通信是指在同一时间使用多条并行传输的线路传输多个比特的数据。每个比特使用独立的线路进行传输,同时进行。这样可以在一个时钟周期内传输多个比特,提高传输速率。并行通信常用于短距离高速数据传输,如内部计算机总线、内存之间的数据传输等。

![2023-11-14T17:10:23.png][2]

  1. 串行通信:串行通信是指使用单条线路逐个比特顺序传输数据。每个比特按照顺序依次传输,通过时钟信号进行同步。串行通信通常使用的线路较少,便于布线和实现,适用于长距离通信和低速传输。串行通信常见的标准包括UART、SPI、I2C等。

![2023-11-14T17:11:11.png][3]

并行通信的优势是在同一时间内可以传输多个比特,传输速率较高。然而,由于需要使用更多的线路,对电路和布线的要求较高,限制了通信距离和复杂性。相比之下,串行通信只使用一条线路,更容易实现和布线,适合长距离传输和复杂环境。但是,传输速率相对较低。

选择并行通信还是串行通信通常取决于具体的通信需求、距离、传输速率、成本和可靠性要求等因素。许多应用中,串行通信已成为主流选择,但在某些特殊领域仍然需要并行通信来满足高速数据传输需求。

2.单工和双工

在这里插入图片描述

  1. 单工通信(Simplex):在单工通信中,数据只能在一个方向上进行传输。一个设备只能发送数据,而另一个设备只能接收数据。这种通信模式类似于单向街道,只能在一个方向上进行通行。典型的示例是广播电台向听众广播信号,而听众无法向广播电台发送信号。

  2. 半双工通信(Half Duplex):在半双工通信中,数据可以在两个方向上进行传输,但不能同时进行。设备可以在某个时间段内发送数据,然后切换为接收模式以接收数据。这就像是一个双向的单车道,交通只能在一个方向上进行,而不能同时在两个方向上进行。对讲机是一个常见的半双工通信示例,其中一方说话时,另一方必须等待。

  3. 全双工通信(Full Duplex):在全双工通信中,数据可以在两个方向上同时进行传输,实现双向通信。设备可以同时发送和接收数据,没有时间限制。这就像是双向的双车道,车辆可以同时在两个方向上行驶。典型的全双工通信示例是电话通话。通话双方可以同时说话和听对方说话。

选择单工、半双工或全双工通信取决于具体的应用需求。如果只需要单向传输数据,单工通信可能是合适的选择。如果需要在两个方向上交替传输数据,但不需要同时进行,半双工通信会更合适。而如果需要在两个方向上同时进行双向通信,全双工通信是最合适的选择。

一.UART

1.概述

UART(通用**异步收发传输器)是一种用于串行通信的标准接口协议。它是一种简单但功能强大的通信协议(全双工**),先传低位,后传高位。广泛应用于电子设备之间的数据传输,在嵌入式系统中常用于主机和辅助设备之间的通信。

UART使用两根线(数据线和时钟线)来进行数据传输,UART协议定义了数据的传输格式,包括数据位数、奇偶校验位、停止位等。它通常使用ASCII码来表示字符数据,但也可以传输二进制数据。通常情况下,UART的数据传输速率(波特率)可以根据具体应用需求进行配置,典型的波特率有9600、19200、115200等。

UART接口在各种设备和应用中广泛使用,例如计算机、微控制器、传感器、调制解调器、GPS接收器等。它的简单性和可靠性使得UART成为许多串行通信需求的首选协议。

2.波特率

波特率(Baud Rate)是指单位时间内传送的码元(数字)数,通常用每秒钟传输的比特数(bit/s)来表示。在串行通信中,波特率通常用于表示数据传输的速率,即每秒钟可以发送多少比特的信息。具体来说,波特率指的是发送方发送一个码元所用的时间,和这个码元所代表的比特数之间的关系。

例如,假设串口的波特率设置为9600 bps,则在每秒钟内可以传输9600个比特的数据。这意味着,每秒钟可以传输9600/8=1200个字节的数据(注意,这里的基本传输单元是字节,而不是比特,因为在通信中,比特通常是由一些组合成的字节来表示的)。

3.UART帧格式

![2023-11-14T17:24:13.png][5]

UART是一种常见的串行通信接口协议,用于将数据在计算机和外部设备之间进行传输。UART通常用于串口通信,通常数据以字节的形式通过串行线路发送和接收,空闲时为高电平

UART帧格式通常由以下几部分组成:

  1. 起始位(Start Bit):UART通信的数据帧以一个起始位开始,表示数据传输的开始。起始位通常为逻辑低电平(0)。

  2. 数据位(Data Bits):数据位是实际传输的数据比特。数据位的数量可以是5、6、7或8位,取决于设备的设置。

  3. 校验位(Parity Bit):校验位是用于检测和纠正数据传输中的错误的附加比特。校验位可以是奇校验、偶校验或无校验(没有校验位)。如果选择了奇校验,则校验位被设置为确保数据位中的1的数目为奇数。如果选择了偶校验,则校验位被设置为确保数据位中的1的数目为偶数。

  4. 停止位(Stop Bit):停止位表示数据帧的结束。它通常是一个或多个逻辑高电平(1)。停止位的数量可以是1、1.5或2个,具体取决于设备的设置。

注意:UART空闲位为高电平,UART通信是一种异步通信方式,由于发送方和接收方的时钟不同步,因此需要使用起始位和停止位来标识每个数据帧的开始和结束。

例如,一个典型的UART帧格式可能是:1个起始位 + 8个数据位 + 1个偶校验位 + 1个停止位。这意味着每个数据帧由11个比特组成。

在实际应用中,UART帧格式可以根据具体的需求进行定制,例如调整数据位的数量、校验位的设置和停止位的数量。这取决于设备之间的通信协议和通信要求。

三.RS232协议(基于UART)

1.UART问题

UART具有一些缺点,包括:

  1. 线缆长度限制:UART通信的传输距离受到线缆的长度限制。在长距离传输时,信号可能会衰减或受到干扰,导致数据错误或丢失。

  2. 电气接口不统一:UART只是对信号的时序进行了定义,而未定义接口的电气特性;UART通信时一般直接使用处理器使用的电平,即TTL电平,但不同的处理器使用的电平存在差异,所以不同的处理器使用UART通信时一般不能直接相连,UART没有规定不同器件连接时连接器的标准,所以不同设备间通过UART通信时连接很不方便;

  3. 时钟同步问题:UART通信是异步通信,发送方和接收方的时钟不同步。这可能导致时钟差异引发的数据丢失或错误。

  4. 速率限制:UART通信的速率受到波特率的限制。较高的波特率可能会导致更高的传输速率,但也会增加传输时钟的要求和电磁干扰的风险。

  5. 通信速度相对较慢:由于UART通信采用的是异步传输方式,并且需要在每个数据帧中添加起始位、停止位和校验位等附加信息,因此与其他通信协议相比,UART的通信速度相对较慢。

因为UART的各种缺点,我们在电气层面又进一步规定了各种协议,其中包括RS232协议RS485协议

2.RS232协议概述

1.接口
该标准规定采用一个25引脚的DB-25连接器,标准中对连接器的每个引脚的信号内容加以规定)还对各种信号的电平加以规定;后来IBM的PC机将RS232简化成了DB-9连接器,后来成为事实标准;现在工业设备的RS-232接口一般只使用RXD、TXD、GND三条线;

2,信号
该标准规定逻辑“1”的电平为-5v到-15v,逻辑“0”的电平为+5v+15v,选用该电气标准的目的在于提高抗干扰能力,增大通信距离,其传送距离一般可达15m

3.电平转换

虽然很多处理器中都会集成UART控制器,但处理器产生的信号一般都是TTL信号并不是符合RS232标准的信号,所以一般我们还需要在处理器外部去添加电路对信号的电平进行转换;通常使用MAX232芯片进行转换。

4.RS232缺点

RS-232标准作为一种老式的串行通信标准,具有以下几个方面的缺陷:

  1. 速度限制:通信速度较低。

  2. 传输距离较短:15m

  3. 抗干扰性差:RS-232标准的电信号传输距离、电源和静电放电等方面的限制都会影响信号的稳定性,易受外部干扰,同时发送和接收设备之间的接地电位差可能会导致误差。

  4. 接口的信号电平值比较高: 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容,所以需要使用电平转换芯片才能与TTL电路连接

四.RS485协议(基于UART)

1.RS485协议概述

![2023-11-15T06:36:05.png][6]

RS-485是一种串行通信协议,常用于在远距离和噪音环境下进行数据通信。以下是有关RS-485协议的一些重要信息:

  1. 物理层特性:RS-485使用差分信号传输,其中一对信号线为正极性(+)和负极性(-)信号线,用于抵消噪音干扰。这种传输方式提供了更高的抗干扰性和噪音容忍度,使其非常适用于远距离通信。

  2. 半双工通信:RS-485是一种半双工通信协议,意味着数据只能在单个信道上进行一个方向的传输。因此,在RS-485通信中,一方设备必须等待另一方设备完成发送或接收操作后才能开始通信。

  3. 多点通信:RS-485支持多个设备在同一信号线上进行通信,允许多点通信拓扑结构。每个设备都有一个唯一的地址,以便其他设备根据地址来识别并选择性地接收数据。

  4. 最大传输距离:RS-485可在最大传输距离上达到1500米,这是由于其差分信号传输和抗干扰性能较强。相比之下,RS-232通信的传输距离通常较短。

  5. 驱动能力:RS-485驱动能力强,能够驱动较多的接收器,适用于工业环境中的长距离数据通信需求。

  6. 信号:RS485标准规定采用差分信号进行数据传输,两线间的电压差为+2v到+6v表示逻辑“1”,两线间的电压差为-2v到-6y表示逻辑“0”;使用差分信号能有效地减少噪声信号的干扰,延长通信距离。RS485接口信号的电平比RS232降低了,所以不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便地与TTL电路连接

需要注意的是,RS-485仅定义物理层的传输规范,而未定义数据帧格式和通信协议。因此,在实际应用中,需要根据具体需求制定相应的协议和应用层通信规范。

RS-485协议是一种可靠、抗干扰能力较强的半双工串行通信协议,适用于远距离传输和工业环境中的数据通信应用。

2.电平转换

虽然很多处理器中都会集成UART控制器,但处理器产生的信号一般都是TTL信号并不是符合RS485标准的信号,所以一般我们还需要在处理器外部去添加电路将TTL信号转换成差分信号;

3.RS485优势

根据您提供的信息,以下是RS-485协议的一些优点:

  1. 信号电平值较低:RS-485接口的信号电平值较低,这意味着它不容易损坏接口电路的芯片。这种特性有助于保护设备的硬件,并延长设备的使用寿命。

  2. 与TTL电平兼容:RS-485接口与TTL电平兼容,可以方便地与TTL电路连接,这简化了与其他数字电路的集成和连接,提高了系统的灵活性和兼容性。

  3. 通信速度快:RS-485支持较快的通信速度,可以满足对高速数据传输的需求,适用于实时性要求高的应用场景。

  4. 抗噪声干扰性强:RS-485协议具有优异的抗噪声干扰性能,这使得它在具有电磁干扰或其他噪声干扰的环境中依然能够保持稳定的通信质量。

  5. 传输距离较远:RS-485能够实现较远的传输距离,最高可达1500米。这使得它非常适用于需要长距离数据传输的应用场景,如工业控制系统、仪器仪表和环境监测等领域。

  6. 可实现多节点组网:RS-485支持多个设备在同一总线上进行通信,因此可以实现多节点组网。这种能力使得RS-485适用于需要在多个设备之间进行实时数据传输和通信的应用。

综上所述,RS-485协议具有信号电平低、兼容性强、通信速度快、抗干扰性强和传输距离远的优点,使其成为一种广泛应用于工业控制和远距离数据通信领域的可靠通信协议。

五.IIC协议

1.IIC总线协议简介

![2023-11-15T07:09:01.png][7]

  1. IIC总线是PhiLips公司在八十年代初推出的一种串行半双工总线主要用于近距离、低速的芯片之间的通信;IIC总线有两粮双向的信号线一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步;IIC总线硬件结构简单,成本较低,因此在各个领域得到了广泛的应用

  2. IIC总线是一种多主机总线,连接在|IC总线上的器件分为主机和从机主机有权发起和结束一次通信,而从机只能被主机呼叫;当总线上有多个主机同时启用总线时,IIC也具备冲突检测和仲裁的功能来防止错误产生;每个连接到IIC总线上的器件都有一个唯一的地址(7bit),且每个器件都可以作为主机也可以作为从机(同一时刻只能有一个主机),总线上的器件增加和删除不影响其他器件正常工作;IIC总线在通信时总线上发送数据的器件为发送器,接收数据的器件为接收器;

2.IIC总线通信过程

非常感谢您提供的更详细的I2C总线协议的步骤。下面是对您提到的每个步骤的更详细说明:

  1. 主机发送起始信号启用总线。

  2. 主机发送一个字节数据指明从机地址和后续字节的传送方向。

  3. 被寻址的从机发送应答信号回应主机。

  4. 发送器发送一个字节数据。

  5. 接收器发送应答信号回应发送器。

循环步骤4和步骤5:发送器和接收器之间在每次传输一个字节数据后,持续地循环执行步骤4和步骤5。

n. 通信完成后主机发送停止信号释放总线。

通过这些步骤,主机和从机之间可以进行可靠的数据传输和通信。这个协议的简洁性和灵活性使得I2C总线协议成为连接多个设备进行短距离通信的一种常见选择。

3.IIC寻址方式

  1. IIC总线上传送的数据是广义的,既包括地址,又包括真正的数据.
  2. 主机在发送起始信号后必须先发送一个字节的数据,该数据的高7位为从机地址,最低位表示后续字节的传送方向,'0’表示主机发送数据,'1’表示主机接收数据;总线上所有的从机接收到该字节数据后都将这7位地址与自己的地址进行比较,如果相同,则认为自己被主机寻址,然后再根据第8位将自己定为发送器或接收器

在这里插入图片描述

4.IIC总线信号实现

  1. 起始信号和停止信号
    SCL为高电平时,SDA由高变低表示起始信号
    SCL为高电平时,SDA由低变高表示停止信号
    起始信号和停止信号都是由主机发出,起始信号产生后总线处于占用状态停止信号产生后总线处于空闲状态
    在这里插入图片描述

  2. 字节传送与应答
    IIC总线通信时每个字节为8位长度,数据传送时,先传送最高位,后传送低位,发送器发送完一个字节数据后接收器必须发送1位应答位来回应发送器即一帧共有9位
    在这里插入图片描述

  3. 同步信号
    IIC总线在进行数据传送时,时钟线SCL为低电平期间发送器向数据线上发送一位数据,在此期间数据线上的信号允许发生变化,时钟线SCL为高电平期间接收器从数据线上读取一位数据,在此期间数据线上的信号不允许发生变化,必须保持稳定

在这里插入图片描述

5.典型IIC时序

  1. 主机向从机发送数据
    在这里插入图片描述

  2. 从机向主机发送数据
    在这里插入图片描述

  3. 主机先向从机发送数据,然后从机再向主机发送数据
    在这里插入图片描述

注:阴影部分表示数据由主机向从机传送,无阴影部分则表示数据由从机向主机传送;A表示应答,A非表示非应答,S表示起始信号,P表示终止信号

六.SPI协议

1.SPI总线协议简介

SPI(Serial_Per ipheral Interfaco)是串行外设接口的缩写,SPI是一种高速的全双工同步串行通信总线;SPI采用主从方式工作,一般有一个主设备和一个或多个从设备;SPI需要至少4根线,分别是MISO(主设备输入从设备输出)、MOSI(主设备输出从设备输入)、SCLK(时钟)、CS(片选)SPI使用引脚较少且布线方便,所以越来越多的芯片集成了这种通信协议;

SPI(Serial Peripheral Interface)协议是一种用于串行通信的同步协议,通常用于在数字集成电路之间传输数据。SPI协议通常包含以下特点:

  1. 线配置:SPI使用四根线进行通信,包括一个主时钟线(SCLK),一个主输出/从输入线(MOSI),一个主输入/从输出线(MISO)以及一个片选线(SS)。

  2. 主从结构:SPI协议通常包括一个主设备和一个或多个从设备。主设备控制通信并负责生成时钟信号,而每个从设备都有一个片选线,由主设备控制。

  3. 全双工通信:SPI通信是全双工的,意味着主设备和从设备可以同时发送和接收数据。

  4. 传输模式:SPI协议可以通过调整时钟极性和相位来支持四种传输模式,以适应不同设备的需求。

  5. 速率灵活:SPI协议在不同的设备上可以以不同的速率进行通信,因为时钟频率是可调的。

  6. 灵活性:SPI协议具有一定程度的灵活性,可以通过协商进行高速数据传输,但同时也有较高的实现复杂度。

在这里插入图片描述

2.寻址方式

当主设备要和某个从设备进行通信时,主设备需要先向对应从设备的片选线上发送使能信号(高电平或者低电平,根据从机而定)表示选中该从设备。

在这里插入图片描述

3.通信过程

SPI总线在进行数据传送时,先传送高位,后传送低位;数据线为高电平表示逻辑‘1’,低电平表示逻辑‘0’;一个字节传送完成后无需应答即可开始下一个字节的传送;SPI总线采用同步方式工作,时钟线在上升沿或下降沿时发送器向数据线上发送数据,在紧接着的下降沿或上升沿时接收器从数据线上读取数据,完成一位数据传送,八个时钟周期即可完成一个字节数据的传送;

在这里插入图片描述

4.极性和相位

极性和相位
SPI总线有四种不同的工作模式,取决于极性(CPOL)和相位(CPHA)这两个因素,

  1. CPOL表示SCLK空闲时的状态
    CPOL=0,空闲时SCLK为低电平
    CPOL=1,空闲时SCLK为高电平
  2. CPHA表示采样时刻
    CPHA=0,每个周期的第一个时钟沿采样
    CPHA=1,每个周期的第二个时钟沿采样
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

需要说明的是,对于一个特定的从设备来说,一般在出厂时就会将;设计为某种特定的工作模式;我们在使用该设备时就必须保证主设备工作模式和该从设备保持一致,否则是无法进行通信的;所以一般我们需要对主设备的CPOL和CPHA进行配置;

七.IIC和SPI异同点

相同点

  1. 均采用串行、同步的方式
  2. 均采用TTL电平,传输距离和应用场景类似
  3. 均采用主从方式工作

不同点

  1. 1IC为半双工,SPI为全双工。
  2. 11C有应答机制,SPI无应答机制。
  3. 1IC通过向总线广播从机地址来寻址,SPI通过向对应从机发送使能信号来寻址。
  4. 1IC的时钟极性和时钟相位固定,SPI的时钟极性和时钟相位可调。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kafka入门基本概念(详细)

什么是kafka Kafka是一种高吞吐量的分布式发布订阅消息系统(消息引擎系统),它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键…

c语言-数据类型(下)

目录 4.实型变量 5.字符常量 直接常量: 转义字符: 6.字符变量 7.字符串常量 五、输出格式总结 整型: 浮点型: 字符及字符串: 指针(地址): 六、typedef 七、sizeof一个问…

Lazada测评,掌控自养测评号补单技巧,实现销量提升

稳定的Lazada测评除了需要搭建稳定的国外网络环境外,对于养号下单技巧也非常重要。 1.Lazada店铺的listing优化需精心打磨。商品主图、标题、详情页等核心要素,均需细心雕琢,以吸引买家的目光。站在消费者的角度,洞察需求&#x…

LabVIEW编码器自动校准系统

简介 在工作中,精确的角度测量和校准对于保持设备精度至关重要。开发了一套自动化角度编码器校准系统,利用了LabVIEW的强大功能。该系统以全圆连续角度标准装置为基础,配合二维导轨装夹系统,实现了空心轴角度编码器的高效自动校…

数据库往年试卷

实体完整性规则是指关系中的元组在组成主码的属性上是不能为空值的 参照完整性规则指外码不允许参照不存在的相应的主码值,或外码为空值 用户自定义完整性规则是用户根据具体应用定义的 关系数据库有三种基本关系运算:1、选择;2、投影;3、连…

Robotframework自动化测试环境搭建

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 前言 1、在2019年之前,robotframework-ride的版本一…

【HTML5】 canvas 绘制图形

文章目录 一、基本用法二、用法详见2.0、方法属性2.1、绘制线条2.2、绘制矩形2.3、绘制圆形2.4、绘制文本2.5、填充图像 一、基本用法 canvas 标签:可用于在网页上绘制图形(使用 JavaScript 在网页上绘制图像)画布是一个矩形区域&#xff0c…

用 YAML 文件配置 CI/CD 管道

MSBuild 参数: 在使用 MSBuild 命令行生成打包项目(就像在 Visual Studio 中使用向导生成项目一样)之前,生成过程可以通过编辑 Package.appxmanifest 文件中 Package 元素的 Version 属性,来对生成的 MSIX 包进行版本控制。 在 Azure Pipelines 中,可以使用某个表达式来…

B端产品经理学习-B端产品的项目管理

项目管理的作用 指导Roadmap落地 每个节点的项目时间需要按照时间点落地,才不会影响后面的项目事件 为了明确需求,明确研发的工作 避免产研部门因为需求扯皮、研发部门抱怨需求文档不够清晰、在开发过程中增加很多细节需求、增加了研发的工作量、初次…

散列函数,哈希表hash table

附上一句话:我知道大家可能曾经了解过这个散列表了,我发现,如果多看几个相关的视频,从不同的表述方式和不同的理解角度来理解这个问题,我会明白的更透彻,也有更多新的收获,尤其是对这个算法的应…

软考和 PMP 哪个含金量更高点?

两个证都有用,不同的环境含金量也侧重不用,软考高项比较适用于计算机 IT 行业,而 PMP 不受行业限制,各行各业都适用,没有哪个含金量更高的说法 至于哪个更合适,看你想去国企还是民企,国企软考吃…

MiniTab的拟合回归模型的系列参数设置

为拟合回归模型指定模型项 统计 > 回归 > 回归 > 拟合回归模型 > 模型 可以向模型添加交互作用项和多项式项。默认情况下,模型仅包含在主对话框中输入的预测变量的主效应。添加项的方法有很多。假设预测变量列表具有 3 个连续变量 X、Y、Z 和 2 个类别…

Python自动化我选DrissionPage,弃用Selenium

DrissionPage 是一个基于 python 的网页自动化工具。 它既能控制浏览器,也能收发数据包,还能把两者合而为一。 可兼顾浏览器自动化的便利性和 requests 的高效率。 它功能强大,内置无数人性化设计和便捷功能。 它的语法简洁而优雅&#x…

如何隐藏服务器真实IP地址,隐藏服务器IP有什么好处

首先我们介绍了隐藏服务器IP的概念及工作模式,接着阐述了其对于DDoS攻击的防护作用。然后介绍了如何利用隐藏服务器IP增加系统性能和稳定性。接着我们讲述了如何隐藏服务器IP防止黑客攻击,最后总结了隐藏服务器IP在保护服务器和用户数据方面发挥的作用。…

UE4使用技巧

打开蓝图编辑器时不是打开一个新窗口,而是作为主窗口 适用于全部的打开新窗口的操作 蓝图编译时自动保存 开始游戏后立即捕获鼠标

系统性学习vue-vue中的ajax

vue中的ajax 配置代理常用发送Ajax请求方式跨域方式一方式二 vue-resource插槽默认插槽具名插槽作用域插槽 配置代理 常用发送Ajax请求方式 xhr new XMLHttpRequest() 在真正开发中不常用,比较麻烦jQuery 封装了xhraxios 封装了xhr 与jQuery相比优势是&#xff1a…

C# 导出EXCEL 和 导入

1.导出 使用winfrom简单做个界面 选择导出路径 XLSX起名字 打开导出是XLSX文件 代码部分 // 创建Excel应用程序对象Excel.Application excelApp new Excel.Application();excelApp.Visible false;// 创建工作簿Excel.Workbook workbook excelApp.Workbooks.Add(Type.Miss…

C++学习笔记——用C++实现树(区别于C)

树是一种非常重要的数据结构,它在计算机科学中的应用非常广泛。在本篇博客中,我们将介绍树的基本概念和C中如何实现树。 目录 一、树的基本概念 2.C中实现树 2.1创建一个树的实例,并向其添加节点 2.2三种遍历方式的实现代码 3.与C语言相…

(2024,强化学习,提示扩展,原始提示中心引导)Parrot:用于文本到图像生成的帕累托最优多奖励强化学习框架

Parrot: Pareto-optimal Multi-Reward Reinforcement Learning Framework for Text-to-Image Generation 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. 基础 4. 方法 4…

MR-GCN

∘ Φ \circ_Φ ∘Φ​ denotes a convolution Let b l o c k d i a g blockdiag blockdiag(A) be a n1n3-by-n2n3 block diagonal matrix, f o l d fold fold indicate its inverse operator diagonal degree tensor D \mathcal{D} D 作者未提供代码