USB(TYPE-C)转串口(TTL)模块设计讲解

news2025/5/22 23:17:33

目录

一 、引言

二、方案设计

三、USB TYPE-C介绍

1、TYPE-C接口定义

        1、24P全引脚描述

        2、Type C 接口 VBUS/GND 作用

       3、Type C 接口 D+/D- 作用

        1、数据传输:

        2、设备识别:

        3、充电协议协商:

        4、Type C 接口 CC1/CC2 作用

        1、主从设备区分

        2、设备连接检测

        3、正反插确认

        4、USB PD 通信

        5、Type C 接口 SBU1/SBU2 作用

        6、Type C 接口 SSTX/SSRX 作用

2、TYPE-C接口特点   

        1、24P Type C

        2、16P/12P Type C

        3、6P Type C

3、TYPE-C引脚总结  

四、USB转UART芯片介绍

五、USB转UART电路设计

六、电路完成截图

七、文件下载链接


一 、引言

        USB TYPE-C(简称:TYPE-C)是目前主流的连接端口,而在单片机的开发中,TTL信号更是必不可少的通讯方式,目前市场上也有着不少USB转串口的商品设计,低端的价格也相对亲民,而稍微高端的也会价格不菲。

        今天,我们来设计一款USB转TTL模块。

二、方案设计

        USB TYPE-C端口  +  四路串口输出

三、USB TYPE-C介绍

1、TYPE-C接口定义

        按以下视角引出端子定义

USB TYPE-C母口

USB TYPE-C公口

        

         从上图的 Type C 公头和母口的引脚排列可以知道 Type C 的引脚功能是中心对称的,所以公头无论以什么方向接入母口两者的功能引脚都可以完美对接。

        1、24P全引脚描述

Pin名称功能描述Pin名称功能描述
A1GNDB12GND
A2SSTXp1SuperSpeed 差分信号 #1 的发送正端B11SSRXp1SuperSpeed 差分信号 #1 的接收正端
A3SSTXn1SuperSpeed 差分信号 #1 的发送负端B10SSRXn1SuperSpeed 差分信号 #1 的接收负端
A4VBUS总线电源B9VBUS总线电源
A5CC1Configuration Channel 1,即 “配置通道 1”B8SBU2Side Band Use 1,即辅助使用2
A6Dp1Data Positive 1,即 USB 2.0 差分信号 1 的正端B7Dn1Data Negative 1,即 USB 2.0 差分信号 1 的负端
A7Dn1Data Negative 1,即 USB 2.0 差分信号 1 的负端B6Dp1Data Positive 1,即 USB 2.0 差分信号 1 的正端
A8SBU1Side Band Use 1,即辅助使用1B5CC2Configuration Channel 2,即 “配置通道 2”
A9VBUS总线电源B4VBUS总线电源
A10SSRXn2SuperSpeed 差分信号 #2 的发送正端B3SSTXn2SuperSpeed 差分信号 #2 的接收正端
A11SSRXp2SuperSpeed 差分信号 #2 的发送负端B2SSTXp2SuperSpeed 差分信号 #2 的接收负端
A12GNDB1GND

       

        2、Type C 接口 VBUS/GND 作用

Pin名称功能描述Pin名称功能描述
A1GNDB12GND
A4VBUS总线电源B9VBUS总线电源
A9VBUS总线电源B4VBUS总线电源
A12GNDB1GND

        GND大家都可以理解,而VBUS大家可能不常见,直接理解为电源VCC即可

       3、Type C 接口 D+/D- 作用

A6Dp1Data Positive 1,即 USB 2.0 差分信号 1 的正端B7Dn1Data Negative 1,即 USB 2.0 差分信号 1 的负端
A7Dn1Data Negative 1,即 USB 2.0 差分信号 1 的负端B6Dp1Data Positive 1,即 USB 2.0 差分信号 1 的正端

        在电子简称中,n是Negative缩写,意为负,p是 Positive的缩写,意为正。

        在 Type - C 接口里,D + 和 D - 属于 USB 2.0 的差分数据传输引脚,它们在数据传输和设备识别方面发挥着重要作用。

        差分信号传输是 D + 和 D - 的工作基础。差分信号传输是指通过两根信号线(即 D + 和 D - )来传输幅度相同但相位相反的信号。接收端会对这两个信号的差值进行检测,以此来还原原始数据。这种传输方式具备很强的抗干扰能力,能够有效降低外部电磁干扰对信号传输的影响,进而保证数据传输的稳定性和准确性。

        主要功能        

        1、数据传输

        D + 和 D - 主要用于 USB 2.0 协议的数据传输,其最高传输速率可达 480Mbps。在设备进行数据交换时,如电脑与 U 盘、手机与电脑之间传输文件,数据就会通过 D + 和 D - 这一对差分线进行传输。

        2、设备识别

        在设备连接的初始阶段,主机通过检测 D + 和 D - 上的电平状态来识别设备的类型和模式。例如,在 USB 通信中,当设备插入主机时,主机通过检测 D + 和 D - 引脚的上拉电阻情况来判断设备是高速设备、全速设备还是低速设备。对于全速设备,D + 上有一个 1.5kΩ 的上拉电阻;而对于低速设备,D - 上有一个 1.5kΩ 的上拉电阻。主机根据检测到的上拉电阻位置来确定设备的速度类型,并相应地调整通信参数。

        3、充电协议协商

        某些充电协议也会利用 D + 和 D - 进行通信,以协商充电电压和电流。例如,在一些手机充电过程中,充电器和手机会通过 D + 和 D - 交换信息,以确定合适的充电参数,实现快速充电功能。

典型应用

        4、Type C 接口 CC1/CC2 作用

A5CC1Configuration Channel 1,即 “配置通道 1”
B5CC2Configuration Channel 2,即 “配置通道 2”

        CC1 是 “Configuration Channel 1” 的缩写,即 “配置通道 1”。在 Type - C 接口中,CC1 引脚与 CC2 引脚共同承担着配置通道的功能,用于主从设备区分(确定数据传输方向)、检测设备连接、设备角色识别以及 USB PD 通信等。

        1、主从设备区分

        做主机时,CC1、CC2接上拉电阻VBUS。

        做从机时,CC1、CC2接5.1K电阻接地。

        主设备的 CC 引脚通过上拉电阻 Rp 连接到 VBUS,标识其供电能力。例如,常见的电阻值 56kΩ/22kΩ 可表示不同的电流能力。

        从设备的 CC 引脚则通过下拉电阻 Rd 连接到 GND,标识其受电需求,通常下拉电阻 Rd 为 5.1kΩ。

        需要说明的一点时,并非所有设备主机、从机设备都是固定的,有一种双角色端口,其 CC 引脚能够动态切换上拉电阻 Rp 和下拉电阻 Rd 的状态。在初始连接时,设备会随机确定一个初始角色(主或从),并通过 CC 引脚的电平状态来告知对方。之后,设备之间可以通过 USB PD 协议进行协商,根据实际需求动态切换主从角色。例如,手机在连接充电器时作为 从设备,接收充电,当手机通过 OTG 线连接 U 盘时,手机可通过 CC 引脚切换为 主设备,为 U 盘供电并读取数据。

        2、设备连接检测

        以手机及充电器为例:未连接时,充电器的 VBUS 无输出,CC 引脚由于上拉电阻处于高电平。当手机通过 CC 引脚与充电器 连接后,充电器 的 CC 引脚会检测到手机的下拉电阻 Rd,使得 CC 引脚电平被拉低。充电器检测到 CC 引脚电平变化,就知道有设备连接上了,从而打开 Vbus 电源开关,输出电源给手机。

        

        3、正反插确认

        在母口的端子中,可以看到引脚是中心对称的,但是对于TYPE-C的公口来说,却不是完全中心对称,少了B6、B7引脚功能,所以实际来说,TYPE-C的公头正插与反插是有区别的。

         依旧以手机充电为例,当手机处于充电状态扮演从机角色时,若手机内部 CC 引脚下拉导致充电器的 CC1 引脚被拉低,意味着手机的 Type - C 接口是向上插入;反之,若充电器检测到CC2 引脚被拉低,则表明手机的 Type - C 接口是向下插入。这样可以确定接口插入的方向。  

        4、USB PD 通信

        CC1/CC2 引脚是 USB PD(Power Delivery)协议通信的线路之一,通过该引脚,设备之间可以进行电源相关的信息交互,如协商供电电压、电流等参数,以实现快速充电或其他功率传输功能,实现负载的功能配置。

     

        5、Type C 接口 SBU1/SBU2 作用

B8SBU2Side Band Use 1,即辅助使用2
A8SBU1Side Band Use 1,即辅助使用1

        SBU1/SBU2 主要用于支持附加功能。

        音频信号传输:在模拟音频耳机附件模式下,SBU1 可作为麦克风信号传输通道,将音频信号从设备传输到外部音频设备。在 DP Alt Mode 模式下进行 DP 信号传输时,SBU 引脚可作为音频传输通道,传输音频信号。

        视频信号相关:在 DisplayPort 替代模式中,SBU1 和 SBU2 可用于传输 DisplayPort 协议中的辅助信号,如音频信号、热插拔检测信号等,以实现高清视频输出及相关功能的协同工作。

        设备连接与配置:SBU1 和 SBU2 在连接 Type - C 设备时参与建立连接,并在设备之间传输信息。例如,SBU1 可发出电压波形,以确定设备的电源和数据协议,SBU2 则用于接收电源和数据协议的信息,使设备能够进行正确的配置。

        6、Type C 接口 SSTX/SSRX 作用

A2SSTXp1SuperSpeed 差分信号 #1 的发送正端B11SSRXp1SuperSpeed 差分信号 #1 的接收正端
A3SSTXn1SuperSpeed 差分信号 #1 的发送负端B10SSRXn1SuperSpeed 差分信号 #1 的接收负端
A10SSRXn2SuperSpeed 差分信号 #2 的发送正端B3SSTXn2SuperSpeed 差分信号 #2 的接收正端
A11SSRXp2SuperSpeed 差分信号 #2 的发送负端B2SSTXp2SuperSpeed 差分信号 #2 的接收负端

        SSTXp1 是 “SuperSpeed Transmitter Pair 1, Positive” 的缩写,即 “超高速发送器差分信号对 1,正端”。

        在数据传输过程中,SSRXp1 和对应的负信号引脚(如 SSRXn1)共同组成差分信号对,它主要用于高速数据传输,在 USB 3.1 及更高版本的协议中发挥着重要作用,负责将设备内部的高速数据以差分信号的形式发送出去,以实现快速的数据传输,比如在连接外部存储设备、显示器或进行大文件传输时,能确保数据的高效、稳定传输。

2、TYPE-C接口特点   

        Type C 接口实际上为了适应不同的用途,按功能需求进行划分从而拥有多个版本。

        1、24P Type C

        全功能 USB3.0/3.1、USB2.0、音视频传输,上述我们说的引脚定义 指的就是 24P 全功能 Type C。

        2、16P/12P Type C

        支持 USB2.0,也能支持 PD 快充、音频设备、HDMI 传输、调试模式等功能,但相比 24P 接口,功能的完整性和性能会受到一定限制。

        TYPE - C 的 16P 和 12P 在本质上没有太大区别,通常可认为是同一种接口的不同称呼。

        16P 一般是接口厂家、封装的正式名称。在单排 16P 的 TYPE - C 母座中,头尾开始的 4 引脚 Pin 针分别是两两相连的,从外观上看好像是 12Pin 针,所以日常生活中习惯称呼为 12P。

        16P 和 12P 的 TYPE - C 接口都是在 24P 全功能版本的基础上进行了简化。它们移除USB3.0 的 TX1/2、RX1/2 引脚,保留了 SBU1/2、CC1/2、USB2.0 的 D + 和 D - 引脚。这意味着它们支持基本的充电和 USB2.0 数据传输功能,但不支持 USB3.0/3.1 高速数据传输。

        3、6P Type C

        仅支持充电

        6P 接口仅保留了 Vbus(电源总线)、GND(接地)、CC1(配置通道 1)、CC2(配置通道 2)引脚,主要支持大电流充电,不具备数据传输功能。

        支持 PD 快充协议:CC1 和 CC2 引脚用于 PD 设备识别,承载 USB - PD 的通信,以向供电端请求电源供给,可输出电压可调,最大传输 5A - 20V 共 100W 的功率。借助 USB - PD 协议,用电端能方便地从供电端取电。

3、TYPE-C引脚总结  

电源引脚:VBUS与GND

        VBUS:电源总线引脚,共有两对。用于为设备传输电源,能提供不同的电压等级(如 5V、9V、12V、15V、20V 等),具体取决于所支持的 USB Power Delivery(PD)协议。

        GND:接地引脚,同样有两对。

数据传输引脚:USB 2.0 数据引脚与USB 3.1 数据引脚

        USB 2.0 数据引脚

        D+、D -:这是一对差分信号引脚,用于实现 USB 2.0 协议的数据传输,最高传输速率可达 480Mbps。在一些对数据传输速率要求不高的设备连接中广泛应用,如鼠标、键盘等。

        USB 3.1 数据引脚

        TX1+、TX1 - 、TX2+、TX2 -:分别为两对发送差分信号引脚,用于高速数据的发送。

        RX1+、RX1 - 、RX2+、RX2 -:是两对接收差分信号引脚,用于高速数据的接收。这些引脚共同支持 USB 3.1 Gen 2 协议,最高传输速率可达 10Gbps,满足如移动硬盘、高速闪存等设备的高速数据传输需求。

配置与检测引脚:CC1、CC2与SBU1、SBU2

        CC1、CC2:配置通道引脚,主要用于设备的连接检测、正反插识别、功率传输协商以及 USB PD 协议的通信。例如,当设备连接时,通过检测 CC 引脚的电平状态和电阻值,来确定设备的角色(如主机、从机)、支持的功率等级等信息。

        SBU1、SBU2:辅助信号引脚,在不同的应用场景下有不同的功能。可用于支持音频、视频等其他功能。

        在 Type - C 接口中,D + 和 D - 通常与其他引脚协同工作。

四、USB转UART芯片介绍

        我们选用X宝上这款使用的CH348Q芯片,

        CH348是一款高速USB总线的转接芯片,实现USB转八个异步串口UART0/1/2/3/4/5/6/7功能,用于为计算机扩展异步串口,或者将普通的串口设备或者MCU直接升级到USB总线。

        CH348分为CH348Q与CH348L,对应封装分别为LQFP48和LQFP100。

        在CH348Q数据手册中,提供了典型电路应用设计图,该电路中,采用6P的USB TYPE-C接口,使用AMS1117 - 3.3 线性稳压器将TYPE-C输入的5V电压转换为CH348Q所需要的3.3V电源电压,并提供了晶振电路,复位电路的设计,最终引出了8个端子,用于8路串口输出。     

        在这里,我们需要注意的是对于输出串口UART0\1\2\3与输出串口UART4\5\6\7略微有些区别。

        对于UART0~UART3,芯片CH348Q分别为串口提供了额外的3个引脚,RTS、CTS、DTR。

        RTS(Request To Send)

        功能概述:RTS 即请求发送,是一个输出信号引脚。当设备想要向外部发送数据时,会通过将 RTS 引脚置为有效电平(通常为低电平)来向接收方发出请求发送数据的信号。这是一种发送方主动发起的请求机制,用于告知接收方自己有数据准备发送。

        应用场景:在串口通信中,当发送设备有数据要发送时,先将 RTS 引脚置为有效,等待接收方的响应信号(CTS),只有在接收到接收方允许发送的信号后,才开始发送数据。这样可以避免接收方因缓冲区已满而无法接收数据,导致数据丢失的情况发生。

        CTS(Clear To Send)

        功能概述:CTS 即允许发送,是一个输入信号引脚。接收方通过检测 RTS 引脚的状态,当检测到发送方发出的请求发送信号(RTS 有效)时,会检查自身的接收缓冲区是否有足够的空间来接收新的数据。如果有足够的空间,接收方会将 CTS 引脚置为有效电平(通常为低电平),表示允许发送方发送数据。

        应用场景:在发送方收到接收方的 CTS 有效信号后,才会开始将数据发送出去。如果接收方的缓冲区已满,CTS 引脚会保持无效状态,发送方则会暂停发送数据,直到接收到有效的 CTS 信号为止。

        DTR(Data Terminal Ready)

        功能概述:DTR 即数据终端准备好,是一个输出信号引脚。该引脚用于表示设备的数据终端(如计算机)是否已经准备好进行通信。当设备的数据终端准备好时,会将 DTR 引脚置为有效电平(通常为低电平),告知外部设备可以进行数据通信。

        应用场景:在一些设备中,DTR 信号可以用于控制外部设备的电源或复位。例如,当计算机通过串口与外部设备通信时,计算机可以通过控制 DTR 引脚的电平来开启或关闭外部设备的电源,或者对外部设备进行复位操作。

        RTS/CTS 和 DTR 用于硬件流控制,以确保数据在发送和接收过程中的可靠性。

        为了避免各位对这几位引脚产生误解,我们以单片机STM32F103为例对于接线来进行讲解。

        首先是电源引脚,VDDA与VSSA是单片机STM32的数字电源供电引脚。

        若使用 USART1 进行通信,STM32F103其 TX 引脚为 PA9,RX 引脚为 PA10 ,而大家也都知道,一个设备的发要接另一个设备的收,故此,完成TX与RX的接线。

        RTS 是请求发送信号,是输出信号。STM32 的串口有对应的 RTS 引脚,如 USART1 的 RTS 引脚是 PA12 。将外部设备的 CTS 引脚连接到 STM32F103C8T6 的 PA12 引脚。

        CTS 是允许发送信号,是输入信号。USART1 的 CTS 引脚是 PA11 。把外部设备的 RTS 引脚连接到 STM32F103C8T6 的 PA11 引脚。

        DTR 是数据终端准备好信号,一般作为输出信号。在 STM32 中没有专门的 DTR 硬件引脚,但可以使用一个通用 GPIO 引脚来模拟该功能。例如,选择 PA8作为模拟 DTR 引脚,将其连接到外部设备的 DTR 接收引脚。

        至此也以完成一个串口通讯的连接,CH348Q原理图中的UART0、UART1、UART2、UART3便是此种连接方式。

        但我想提的是,RTS、CTS、DTR这三种引脚并不是UART0、UART1、UART2、UART3通讯不可或缺的引脚,只有TX、RX引脚,与供电引脚才是必要引脚。

        所以在原理图中,UART0、UART1、UART2、UART3是可以像UART4、UART5、UART6、UART7引脚一样,只引出四个引脚一样正常工作,实际上大多数情况下这三种端子也用不到,只是对于已提供了硬件控制流功能的端子,大家可以将端子引出以备用。

        

        接下来,我们对2号引脚CFG进行解释;

        CFG是一个配置引脚,用于控制上述中DTR引脚,上述中的DTR引脚在电路图中全称是DTR/TNOW,顾名思义,这类引脚是有两种模式的,一种是DTR模式,一种是TNOW模式。

        DTR(Data Terminal Ready,数据终端准备好)引脚,用于表示数据终端设备是否准备好进行数据通信。

        TNOW 引脚,支持半双工,可用于控制 RS485 收发切换,也可作为普通 GPIO 引脚使用。

        上电期间,CFG引脚接高电平或悬空,则所有DTRx/TNOWx引脚配置成TNOW功能;CFG 引脚接低电平,则所有DTRx/TNOWx引脚默认配置成DTR功能。

        接下来,我们对44号引脚TEST进行解释:

        内部测试引脚,建议对地接1个下拉电阻 (通常4.7KΩ)或直接接地。

        接下来,我们对14号引脚ACT进行解释:

        USB 配置完成状态输出,低电平有效。

        接下来,我们对7号引脚RESET进行解释:

        外部复位输入端,低电平有效,内置上拉电阻

        接下来,我们对12、13号引脚XI、XO进行解释:

        CH348 芯片内置了电源上电复位电路,芯片正常工作时需要外部向XI引脚提供8MHz时钟信号, 时钟信号可通过CH348内置的反相器通过晶体稳频振荡产生。外围电路需要在XI和XO引脚之间连接 一个8MHz晶体,XI和XO引脚对地接20/22pF左右的振荡电容。

        以上完成,我们对电路开始设计。

五、USB转UART电路设计

        电源方面,设计了三种方案,

        电源模块:可靠省事、价格略贵。

        LDO:价格便宜、省事。

        BUCK降压:可输出较大功率。

        都能正常使用,各有优缺点,各位可以自行选用,本次选用了LDO方案。

        在CH348Q芯片附近,主要有复位电路,晶振电路,上述已提,不再赘述。

        对于CFG引脚,各位可以直接使用下拉电阻接地,也可以如图上使用2P的排针,若需要接地,可使用跳线帽直接短接,方便。

        对于TEST引脚,直接对地接1个下拉电阻。

        最后对于输出的串口,并未将8个串口全部引出,看各人需要,本次只引出4个串口。

        对于ACT引脚,当USB配置完成后为低电平,此时LED2点亮,其余收发指示灯不再赘述。

六、电路完成截图

七、文件下载链接

        上述文件,源文件已导出,上传在本人的资源中,可免费下载

【免费】基于TYPE-C与CH348Q的USB转串口方案:串口一拖四资源-CSDN文库

因为在绝大多数情况下,历史没有正恶,只有成败!!!!!

完结、完结、完结!!!!!!!!!!

END、END!!!!!!!!!!

END!!!!!!!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyTorch张量操作指南:cat、stack、split与chunk的实战拆解

本文深入探讨PyTorch中用于调整张量结构的四个核心函数——torch.cat、torch.stack、torch.split和torch.chunk。通过实际应用场景分析和代码演示,帮助读者掌握它们的功能差异及适用条件,提升模型开发的灵活性与效率。 在深度学习实践中,张量…

YOLO涨点技巧之分层扩展路径聚合网络 (HEPAN)

一、应用场景与问题背景 1.1 无人机图像检测挑战 https://ai-studio-static-online.cdn.bcebos.com/3d4f7e8c4d8d4d2d8a4c8e4b4e8c4d8d ​场景特点:无人机航拍视角下的小目标检测(如行人、车辆、农作物病害等)​核心难点: 目标尺寸小(<3232像素)复杂背景干扰(如城市…

玩机进阶教程----MTK芯片设备刷机导致的死砖修复实例解析 连电脑毫无反应 非硬件问题

在高通芯片机型中,我们可以通过短接主板测试点来激活高通芯片特有的9008底层端口来刷写救砖固件。但通常MTK芯片类的设备联机电脑即可触发深刷模式。但有些例外的情况会导致链接电脑毫无反应。遇到类似故障的友友可以参阅此博文尝试解决。 通过博文了解 1💝💝💝-----实…

MIPI协议介绍

MIPI协议介绍 mipi 协议分为 CSI 和DSI,两者的区别在于 CSI用于接收sensor数据流 DSI用于连接显示屏 csi分类 csi 分为 csi2 和 csi3 csi2根据物理层分为 c-phy 和 d-phy, csi-3采用的是m-phy 一般采用csi2 c-phy 和 d-phy的区别 d-phy的时钟线和数据线是分开的,2根线一对…

AI应用开发平台 和 通用自动化工作流工具 的详细对比,涵盖定义、核心功能、典型工具、适用场景及优缺点分析

以下是 AI应用开发平台 和 通用自动化工作流工具 的详细对比&#xff0c;涵盖定义、核心功能、典型工具、适用场景及优缺点分析&#xff1a; 1. AI应用开发平台 vs 通用自动化工作流工具 (1) 定义与目标 类型AI应用开发平台通用自动化工作流工具定义用于快速构建、训练、部署…

智慧社区数据可视化中枢平台——Axure全场景交互式大屏解决方案

在数字化治理的时代浪潮中&#xff0c;社区管理正面临数据碎片化、响应滞后、决策盲区等核心挑战。如何将分散的安防、环境、能源、民生服务等数据整合为可操作的智慧洞察&#xff1f;如何让冰冷的数字转化为社区管理者手中的决策利器&#xff1f;Axure智慧社区可视化大屏原型模…

Axure高保真AI算法训练平台

点击下载《Axure高保真AI算法训练平台(.rp) 》 原型效果&#xff1a;https://axhub.im/ax9/69fdf8f2b10b59c3/#g1 摘要 本文介绍了一款功能全面且高效的AI算法训练平台&#xff0c;旨在为数据科学家、研究人员和工程师提供从数据准备到模型部署的一站式解决方案。该平台由四大…

C++ Json-Rpc框架-3项目实现(2)

一.消息分发Dispatcher实现 Dispatcher 就是“消息分发中枢”&#xff1a;根据消息类型 MType&#xff0c;把消息派发给对应的处理函数&#xff08;Handler&#xff09;执行。 初版&#xff1a; #pragma once #include "net.hpp" #include "message.hpp"n…

OpenAI发布GPT-4.1系列模型——开发者可免费使用

OpenAI刚刚推出GPT-4.1模型家族&#xff0c;包含GPT-4.1、GPT-4.1 Mini和GPT-4.1 Nano三款模型。重点是——现在全部免费开放&#xff01; 虽然技术升级值得关注&#xff0c;但真正具有变革意义的是开发者能通过Cursor、Windsurf和GitHub Copilot等平台立即免费调用这些模型。…

各地物价和生活成本 东欧篇

东欧地区的物价差异相对较大&#xff0c;一些国家的物价较高&#xff0c;而另一些国家则相对便宜。这些差异主要受当地经济发展水平、工资水平、旅游业发展以及国际关系等因素影响。以下是一些典型的东欧国家&#xff0c;按物价高低进行分类&#xff1a; &#x1f30d; 物价较高…

flex布局(笔记)

弹性布局&#xff08;Flex布局&#xff09;是一种现代的CSS布局方式&#xff0c;通过使用display: flex属性来创建一个弹性容器&#xff0c;并在其中使用灵活的盒子模型来进行元素的排列和定位。 主轴与交叉轴&#xff1a;弹性容器具有主轴&#xff08;main axis&#xff09;和…

云函数采集架构:Serverless模式下的动态IP与冷启动优化

在 Serverless 架构中使用云函数进行网页数据采集&#xff0c;不仅能大幅降低运维成本&#xff0c;还能根据任务负载动态扩展。然而&#xff0c;由于云函数的无状态特性及冷启动问题&#xff0c;加上目标网站对采集行为的反制措施&#xff08;如 IP 限制、Cookie 校验等&#x…

Linux笔记---动静态库(原理篇)

1. ELF文件格式 动静态库文件的构成是什么样的呢&#xff1f;或者说二者的内容是什么&#xff1f; 实际上&#xff0c;可执行文件&#xff0c;目标文件&#xff0c;静态库文件&#xff0c;动态库文件都是使用ELF文件格式进行组织的。 ELF&#xff08;Executable and Linkable…

string的模拟实现 (6)

目录 1.string.h 2.string.cpp 3.test.cpp 4.一些注意点 本篇博客就学习下如何模拟实现简易版的string类&#xff0c;学好string类后面学习其他容器也会更轻松些。 代码实现如下&#xff1a; 1.string.h #define _CRT_SECURE_NO_WARNINGS 1 #pragma once #include <…

【野火模型】利用深度神经网络替代 ELMv1 野火参数化:机制、实现与性能评估

目录 一、ELMv1 野火过程表示法&#xff08;BASE-Fire&#xff09;关键机制野火模拟的核心过程 二、采用神经网络模拟野火过程三、总结参考 一、ELMv1 野火过程表示法&#xff08;BASE-Fire&#xff09; ELMv1 中的野火模型&#xff08;称为 BASE-Fire&#xff09;源自 Commun…

红宝书第四十七讲:Node.js服务器框架解析:Express vs Koa 完全指南

红宝书第四十七讲&#xff1a;Node.js服务器框架解析&#xff1a;Express vs Koa 完全指南 资料取自《JavaScript高级程序设计&#xff08;第5版&#xff09;》。 查看总目录&#xff1a;红宝书学习大纲 一、框架定位&#xff1a;HTTP服务器的工具箱 共同功能&#xff1a; 快…

嵌入式Linux设备使用Go语言快速构建Web服务,实现设备参数配置管理方案探究

本文探讨&#xff0c;利用Go语言及gin框架在嵌入式Linux设备上高效搭建Web服务器&#xff0c;以实现设备参数的网页配置。通过gin框架&#xff0c;我们可以在几分钟内创建一个功能完善的管理界面&#xff0c;方便对诸如集中器&#xff0c;集线器等没有界面的嵌入式设备的管理。…

【NLP 59、大模型应用 —— 字节对编码 bpe 算法】

目录 一、词表的构造问题 二、bpe(byte pair encoding) 压缩算法 算法步骤 示例&#xff1a; 步骤 1&#xff1a;初始化符号表和频率统计 步骤 2&#xff1a;统计相邻符号对的频率 步骤 3&#xff1a;合并最高频的符号对 步骤 4&#xff1a;重复合并直至终止条件 三、bpe在NLP中…

Python对ppt进行文本替换、插入图片、生成表格

目录 1. 安装pptx2. 文本替换和插入图片3. 生成表格 1. 安装pptx pip install python-pptx2. 文本替换和插入图片 文本通过占位符例如{{$xxx}}进行标记&#xff0c;然后进行替换&#xff1b;图片通过ppt中的图形和图片中的占位符进行标记ppt如下 具体实现 from pptx import …

AI(学习笔记第一课) 在vscode中配置continue

文章目录 AI(学习笔记第一课) 在vscode中配置continue学习内容&#xff1a;1. 使用背景2. 在vscode中配置continue2.1 vscode版本2.2 在vscode中下载continue插件2.2.1 直接进行安装2.2.2 在左下角就会有continue的按钮2.2.3 可以移动到右上角2.2.3 使用的时候需要login 2.3 配…