USB转I2C转SPI芯片CH341与CH347比较
1. 芯片中文资料:
USB转I2C转SPI芯片CH341
高速USB转接芯片CH347转9M双串口转I2C转SPI转JTAG转SWD
USB2.0高速转接芯片CH347应用开发手册
2. CH341与CH347比较:
类别 | CH341 | CH347 | 备注 |
---|---|---|---|
串口速度 | 2M | 9M | CH347的串口速度更快 |
设置 | CH341的I2C或SPI不能与串口同时输出 | CH347可以在支持串口的同时使用I2C或SPI | |
串口数量 | 1 | 2 | CH347支持2个高速串口 |
转换接口 | 异步串口/RS232/RS485/RS422、转换并口打印机为 USB 打印机、EPP 并口和 MEM 并口、常用的 2 线和 4 线同步串口 | 0#异步串口 UART/RS232/RS485、1#异步串口 UART/RS232/RS485、2 线 IIC 和 4 线 SPI 同步串口、JTAG 接口/SWD 接口 | CH347增加了JTAG 接口/SWD 接口 |
I/O 独立供电 | 不支持 | 支持支持 3.3V、2.5V、1.8V 电源电压 | |
封装 | SOP-28、SSOP-20、QFN28 | TSSOP-20 、 QFN28 | |
参考价格 | 约4元 | 约9元 |
3. 外观与丝印
4. 引脚定义与封装
4.1 CH341引脚定义
4.2 CH341封装类型
封装形式 | 塑体宽度 | 引脚间距 | 封装说明 | 订货型号 |
---|---|---|---|---|
SOP-28 | 7.62mm | 1.27mm | 标准的 28 脚贴片 | CH341B |
SOP-28 | 7.62mm | 1.27mm | 标准的 28 脚贴片 | CH341A |
QFN28_4X4 | 4*4mm | 0.4mm | 方形无引线 28 脚 | CH341F |
SSOP-20 | 5.30mm | 0.65mm | 缩小型 20 脚贴片 | CH341C |
SSOP-20 | 5.30mm | 0.65mm | 缩小型 20 脚贴片 | CH341T |
SSOP-20 | 5.30mm | 0.65mm | 缩小型 20 脚贴片 | CH341H |
注:CH341C/CH341T 仅用于 USB 转串口或者 USB 转 2 线接口。
CH341H 仅用于 USB 转 4 线接口等(例如 SPI),新设计不推荐使用,建议用 CH341B 或 CH341F。
CH341A、CH341T 和 CH341H 必须外接晶体及振荡电容。
CH341B、CH341F 和 CH341C 既可以选择外接晶体及电容,也可以选择不外接而直接使用内置时钟。
4.3 CH347引脚定义
4.4 CH347封装类型
封装形式 | 塑体宽度 | 引脚间距 | 封装说明 | 订货型号 |
---|---|---|---|---|
QFN28_4X4 | 4*4mm | 0.4mm | 四边无引线 28 脚 | CH347F |
TSSOP-20 | 4.4mm | 0.65mm | 薄小型 20 脚贴片 | CH347T |
注:CH347 的 USB 收发器按 USB2.0 全内置设计,UD+和 UD-引脚不能串接电阻,否则影响信号质量。
CH347F 的底板是 0#引脚 GND,是可选但建议的连接;其它 GND 是必要连接。
5 CH341引脚:
5.1. 一般说明
CH341 的具体功能由复位后的功能配置决定,同一引脚在不同功能下的定义可能不同。
CH341C/T 和 CH341H 采用 SSOP-20 封装,是 CH341B/A/F 的简装版,三者相同名称的引脚具有相同的功能。CH341C/T 和 CH341H 的多个 VCC 引脚并联后作为 VCC,多个 GND 引脚并联后作为 GND。
5.2. 标准的公共引脚
CH341B、CH341A、CH341F 引脚号 | CH341C、CH341T 引脚号 | CH341H引脚号 | 引脚名称 | 类型 | 引脚说明(EB) |
---|---|---|---|---|---|
28 | 20,13 | 20 | VCC | 电源 | 正电源输入端,需要外接 0.1uF 电源退耦电容 |
12,0 | 11,12 | 7,18 | GND | 电源 | 公共接地端,直接连到 USB 总线的地线 |
9 | 6 | 4 | V3 | 电源 | 在 3.3V 电源电压时连接 VCC 输入外部电源,在 5V 电源电压时外接容量为 0.01uF~0.1uF 退耦电容 |
13 | 9 | 8 | XI | 输入 | 晶体振荡的输入端,需要外接晶体及振荡电容。对于 CH341B/F/C 的内置时钟模式,XI 应该接 GND |
14 | 10 | 9 | XO | 输出 | 晶体振荡的反相输出端,需要外接晶体及振荡电容。对于 CH341B/F/C 的内置时钟模式,XO 应该悬空 |
10 | 7 | 5 | UD+ | USB 信号 | 直接连到 USB 总线的 D+数据线 |
11 | 8 | 6 | UD- | USB 信号 | 直接连到 USB 总线的 D-数据线 |
1 | 1 | 1 | ACT# | 输出 | USB 设备配置完成状态输出,低电平有效 |
2 | 无 | 2 | RSTI | 输入 | 外部复位输入,高电平有效,内置下拉电阻 |
24 | 16 | 无 | SCL | 开漏输出 | 芯片功能配置输出,内置上拉电阻,可以接串行 EEPROM 配置芯片的 SCL 引脚 |
23 | 15 | 无 | SDA | 开漏输出及输入 | 芯片功能配置输入,内置上拉电阻,可以接串行 EEPROM 配置芯片的 SDA 引脚 |
5.3. 异步串口方式的引脚
341B/A/F引脚号 | 341C/T引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|---|
5 | 3 | TXD | 输出 | 串行数据输出 |
6 | 4 | RXD | 输入 | 串行数据输入,内置上拉电阻 |
27 | 19 | TEN# | 输入 | 串口发送使能,低电平有效,内置上拉电阻 |
25 | 17 | RDY# | 输出 | 串口接收就绪,低电平有效 |
26 | 18 | TNOW | 输出 | 串口发送正在进行的状态指示,高电平有效 |
4 | 2 | ROV# | 三态输出 | 串口接收缓冲区溢出,低电平有效 |
15 | 无 | CTS# | 输入 | MODEM 联络输入信号,清除发送,低有效 |
16 | 无 | DSR# | 输入 | MODEM 联络输入信号,数据装置就绪,低有效 |
17 | 无 | RI# | 输入 | MODEM 联络输入信号,振铃指示,低有效 |
18 | 无 | DCD# | 输入 | MODEM 联络输入信号,载波检测,低有效 |
20 | 无 | DTR# | 三态输出 | MODEM 联络输出信号,数据终端就绪,低有效 |
21 | 无 | RTS# | 三态输出 | MODEM 联络输出信号,请求发送,低有效 |
19 | 无 | OUT# | 三态输出 | 自定义通用输出信号,低电平有效 |
7 | 5 | INT# | 输入 | 自定义中断请求,上升沿有效,内置上拉电阻 |
8 | 无 | IN3 | 输入 | 自定义通用输入信号,建议悬空不用 |
3 | 无 | IN7 | 输入 | 自定义通用输入信号,建议悬空不用 |
22 | 14 | SLP# | 三态输出 | 睡眠状态输出信号,低电平有效 |
5.4. 打印口方式的引脚
341B/A/F引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
22~15 | D7~D0 | 三态输出 | 8 位并行数据输出,接 DATA7~DATA0 |
25 | STB# | 输出 | 数据选通输出,低电平有效,接 STROBE |
4 | AFD# | 输出 | 自动换行输出,低电平有效,接 AUTO-FEED |
26 | INI# | 输出 | 初始化打印机,低电平有效,接 INIT |
3 | SIN# | 三态输出 | 选中打印机,低电平有效,接 SELECT-IN |
5 | ERR# | 输入 | 打印机出错,低有效,内置上拉,接 ERROR 或 FAULT |
8 | SLCT | 输入 | 打印机联机,高有效,内置上拉,接 SELECT 或 SLCT |
6 | PEMP | 输入 | 打印机缺纸,高有效,内置上拉,接 PEMPTY 或 PERROR |
7 | ACK# | 输入 | 打印机数据接收应答,上升沿有效,内置上拉,接 ACK |
27 | BUSY | 输入 | 打印机正忙,高有效,内置上拉,接 BUSY |
5.5. 并口方式的引脚
341B/A/F 引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
22~15 | D7~D0 | 双向三态 | 8 位双向数据总线,内置上拉电阻 |
25 | WR# | 输出 | EPP 方式:写操作指示,低电平写,高电平读;MEM 方式:写选通输出 WR#,低电平有效 |
4 | DS# | 输出 | EPP 方式:数据操作选通,低电平有效;MEM 方式:读选通输出 RD#,低电平有效 |
26 | RST# | 输出 | 复位输出,低电平有效 |
3 | AS# | 三态输出 | EPP 方式:地址操作选通,低电平有效;MEM 方式:地址线输出 ADDR 或者 A0 |
27 | WAIT# | 输入 | 对于 CH341B/F/A 芯片:请求等待,低有效,内置上拉 |
7 | INT# | 输入 | 中断请求输入,上升沿有效,内置上拉电阻 |
5 | ERR# | 输入 | 自定义通用输入,内置上拉电阻 |
8 | SLCT | 输入 | 自定义通用输入,内置上拉电阻 |
6 | PEMP | 输入 | 自定义通用输入,内置上拉电阻 |
5.6. 同步串口方式的引脚
341B/A/F引脚号 | 341H引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|---|
22 | 17 | DIN | 输入 | 4 线串口数据输入,别名 MISO 或 SDI,内置上拉电阻 |
21 | 16 | DIN2 | 输入 | 5 线串口数据输入 2,内置上拉电阻 |
20 | 15 | DOUT | 三态输出 | 4 线串口数据输出,别名 MOSI 或 SDO |
19 | 14 | DOUT2 | 三态输出 | 5 线串口数据输出 2 |
18 | 13 | DCK | 三态输出 | 4 线/5 线串口时钟输出,别名 SCK |
17~15 | 12~10 | CS2~CS0 | 三态输出 | 4 线串口片选输出 2#~0# |
24 | 无 | SCL | 开漏输出 | 2 线串口的时钟输出,内置上拉电阻 |
23 | 无 | SDA | 开漏输出及输入 | 2 线串口的数据输入输出,内置上拉电阻 |
26 | 19 | RST# | 输出 | 复位输出,低电平有效 |
7 | 3 | INT# | 输入 | 中断请求输入,上升沿有效,内置上拉电阻 |
5,8,6 | 无 | 输入 | 自定义通用输入,内置上拉电阻 |
6、CH347引脚
6.1. 一般说明
CH347 芯片具有多种工作模式,同一引脚在不同工作模式下的功能和定义可能不同。CH347T 芯片在上电复位或外部复位时,检测配置引脚状态自动配置工作模式。
注:FT 表示引脚作为输入时耐受 5V 电压。
6.2. CH347F 引脚
6.3 标准的公共引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
21 | VCC | 电源 | 电源调节器正电源输入端,需要外接退耦电容 |
0,20 | GND | 电源 | 公共接地端,需要连接 USB 总线的地线 |
3 | RST# | 输入 | 外部复位输入端,低电平有效,内置上拉电阻 |
28 | UD+ | USB 信号 | 直接连到 USB 总线的 D+数据线,不能额外串接电阻 |
27 | UD- | USB 信号 | 直接连到 USB 总线的 D-数据线,不能额外串接电阻 |
1 | XI | 输入 | 晶体振荡输入端 |
2 | XO | 输出 | 晶体振荡反相输出端 |
6 | VIO | 电源 | I/O 端口电源输入端,需要外接退耦电容 |
6.4 SPI 接口相关引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
13 | SCS0 | 输出 | 4 线串口的片选输出 0 |
7 | SCS1 | 输出 | 4 线串口的片选输出 1 |
14 | SCK | 输出 | 4 线串口的时钟输出,别名 DCK |
15 | MISO | 输入(FT) | 4 线串口的数据输入,别名 DIN 或 SDI,内置上拉电阻 |
16 | MOSI | 输出 | 4 线串口的数据输出,别名 DOUT 或 SDO |
6.5 JTAG 接口相关引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
25 | TDI | 输出 | JTAG 接口的数据输出 |
24 | TDO | 输入(FT) | JTAG 接口的数据输入,内置上拉电阻 |
23 | TCK | 输出 | JTAG 接口的时钟输出 |
26 | TMS | 输出 | JTAG 接口的模式选择 |
9 | TRST | 输出 | JTAG 接口的复位输出 |
8 | SRST | 输出 | JTAG 接口的系统复位输出 |
6.6 SWD 接口相关引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
23 | SWDCLK | 输出 | SWD 接口的时钟引脚 |
26 | SWDIO | 输出/输入(FT) | SWD 接口的数据引脚 |
6.7 I2C 接口相关引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
12 | SDA | 输出,输入(FT) | 2 线串口的数据输入输出 |
11 | SCL | 输出 | 2 线串口的时钟输出 |
6.8 UART 接口相关引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
19 | TXD0 | 输出 | UART0 的串行数据输出,空闲态为高电平 |
22 | RXD0 | 输入(FT) | UART0 的串行数据输入,内置上拉电阻 |
4 | TXD1 | 输出 | UART1 的串行数据输出,空闲态为高电平 |
5 | RXD1 | 输入 | UART1 的串行数据输入,内置上拉电阻 |
17 | CTS0 | 输入(FT) | UART0 的 MODEM 输入信号,清除发送,低有效; |
18 | RTS0 | 输出 | UART0 的 MODEM 输出信号,请求发送,低有效;上电期间,如果 RTS0 引脚检测到外接了下拉电阻则禁用内部 EEPROM 中配置参数,启用芯片自带默认参数 |
11 | CTS1 | 输入(FT) | UART1 的 MODEM 输入信号,清除发送,低有效; |
12 | RTS1 | 输出 | UART1 的 MODEM 输出信号,请求发送,低有效; |
10 | DTR0/TNOW0 | 输出 | UART0 的 MODEM 输出信号,数据终端就绪,低有效;UART0 的 RS485 发送和接收控制引脚;上电期间,如果 DTR0 引脚检测到外接了下拉电阻则 DTR0 和 DTR1 分别切换为 TNOW0 和 TNOW1 功能 |
7 | DTR1/TNOW1 | 输出 | UART1 的 MODEM 输出信号,数据终端就绪,低有效;UART1 的 RS485 发送和接收控制引脚 |
6.9 GPIO 相关引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
17 | GPIO0 | 输入(FT) 输出 | 通用 GPIO0,用于 IO 口输入或输出。 |
18 | GPIO1 | 输入(FT) 输出 | 通用 GPIO1,用于 IO 口输入或输出。 |
10 | GPIO2 | 输入 输出 | 通用 GPIO2,用于 IO 口输入或输出。 |
9 | GPIO3 | 输入 输出 | 通用 GPIO3,用于 IO 口输入或输出。 |
23 | GPIO4 | 输入(FT) 输出 | 通用 GPIO4,用于 IO 口输入或输出。 |
24 | GPIO5 | 输入(FT) 输出 | 通用 GPIO5,用于 IO 口输入或输出。 |
25 | GPIO6 | 输入(FT) 输出 | 通用 GPIO6,用于 IO 口输入或输出。 |
26 | GPIO7 | 输入(FT) 输出 | 通用 GPIO7,用于 IO 口输入或输出。 |
注 1:CH347F 的第 17 和第 18 引脚的电源来自 VCC,为 3.3V 信号电平;其它引脚的电源来自 VIO,为 VIO 相匹配的 3.3V/2.5/1.8V 信号电平。
4.3. CH347T 引脚
6.10 标准的公共引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
14 | VCC | 电源 | 电源调节器正电源输入端,需要外接退耦电容 |
18 | GND | 电源 | 公共接地端,需要连接 USB 总线的地线 |
1 | RST# | 输入 | 外部复位输入端,低电平有效,内置上拉电阻 |
17 | UD+ | USB 信号 | 直接连到 USB 总线的 D+数据线,不能额外串接电阻 |
16 | UD- | USB 信号 | 直接连到 USB 总线的 D-数据线,不能额外串接电阻 |
19 | XI | 输入 | 晶体振荡输入端 |
20 | XO | 输出 | 晶体振荡反相输出端 |
6.11 工作模式配置引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
10 | DTR1/TNOW1 | 复位期间输入(FT) | 芯片复位时为工作模式 MODE0 配置引脚 0,配合 MODE1 引脚使用,内置上拉电阻 |
13 | RTS1/GPIO7 | 复位期间输入(FT) | 芯片复位时为工作模式 MODE1 配置引脚 1,配合 MODE0 引脚使用,内置上拉电阻 |
6.12 工作模式 0 引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
8 | TXD0 | 输出 | UART0 的串行数据输出,空闲态为高电平 |
12 | RXD0 | 输入(FT) | UART0 的串行数据输入,内置上拉电阻 |
3 | TXD1 | 输出 | UART1 的串行数据输出,空闲态为高电平 |
4 | RXD1 | 输入(FT) | UART1 的串行数据输入,内置上拉电阻 |
9 | DTR0/TNOW0 / GPIO5 | 输出 | UART0 的 MODEM 输出信号,数据终端就绪,低有效;UART0 的 RS485 发送和接收控制引脚;通用 GPIO5,用于 IO 口输入或输出。上电期间,如果 DTR0 引脚检测到外接了下拉电阻则 DTR0 和 DTR1 分别切换为 TNOW0 和 TNOW1 功能 |
10 | DTR1/TNOW1 | 输出 | UART1 的 MODEM 输出信号,数据终端就绪,低有效;UART1 的 RS485 发送和接收控制引脚 |
6 | CTS0/GPIO0 | 输入(FT) | UART0 的 MODEM 输入信号,清除发送,低有效;通用 GPIO0,用于 IO 口输入或输出 |
7 | RTS0/GPIO1 | 输出 | UART0 的 MODEM 输出信号,请求发送,低有效;通用 GPIO1,用于 IO 口输入或输出。上电期间,如果 RTS0 引脚检测到外接了下拉电阻则禁用内部 EEPROM 中配置参数,启用芯片自带默认参数 |
2 | CTS1/GPIO6 | 输入(FT) | UART1 的 MODEM 输入信号,清除发送,低有效;通用 GPIO6,用于 IO 口输入或输出 |
13 | RTS1/GPIO7 | 输出 | UART1 的 MODEM 输出信号,请求发送,低有效;通用 GPIO7,用于 IO 口输入或输出 |
11 | RI0/GPIO3 | 输入(FT) | UART0 的 MODEM 输入信号,振铃指示,低有效;通用 GPIO3,用于 IO 口输入或输出 |
15 | DCD0/GPIO4 | 输入(FT) | UART0 的 MODEM 输入信号,载波检测,低有效;通用 GPIO4,用于 IO 口输入或输出 |
5 | DSR0/GPIO2 | 输入(FT) | UART0 的 MODEM 输入信号,数据装置就绪,低有效;通用 GPIO2,用于 IO 口输入或输出EB |
6.13 工作模式 1/2 引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
3 | TXD1 | 输出 | UART1 的串行数据输出,空闲态为高电平 |
4 | RXD1 | 输入(FT) | UART1 的串行数据输入,内置上拉电阻 |
10 | DTR1/TNOW1 | 输出 | UART1 的 MODEM 输出信号,数据终端就绪,低有效;UART1 的 RS485 发送和接收控制引脚 |
2 | CTS1 | 输入(FT) | UART1 的 MODEM 输入信号,清除发送,低有效 |
13 | RTS1 | 输出 | UART1 的 MODEM 输出信号,请求发送,低有效 |
7 | MISO | 输入(FT) | 4 线串口的数据输入,别名 DIN 或 SDI,内置上拉电阻 |
8 | MOSI | 输出 | 4 线串口的数据输出,别名 DOUT 或 SDO |
6 | SCK | 输出 | 4 线串口的时钟输出,别名 DCK |
5 | SCS0 | 输出 | 4 线串口的片选输出 0 |
9 | SCS1 | 输出 | 4 线串口的片选输出 1 |
12 | SDA | 输出 | 输入(FT) |
11 | SCL | 输出 | 2 线串口的时钟输出,内置上拉电阻 |
15 | ACT | 输出 | USB 配置完成状态输出引脚,低电平有效;上电期间,如果 ACT 引脚检测到外接了下拉电阻则 DTR1 切换为 TNOW1 功能 |
6.14 工作模式 3 引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
---|---|---|---|
3 | TXD1 | 输出 | UART1 的串行数据输出,空闲态为高电平 |
4 | RXD1 | 输入(FT) | UART1 的串行数据输入,内置上拉电阻 |
10 | DTR1/TNOW1 | 输出 | UART1 的 MODEM 输出信号,数据终端就绪,低有效;UART1 的 RS485 发送和接收控制引脚 |
2 | CTS1 | 输入(FT) | UART1 的 MODEM 输入信号,清除发送,低有效 |
13 | RTS1 | 输出 | UART1 的 MODEM 输出信号,请求发送,低有效 |
8 | TDI | 输出 | JTAG 接口的数据输出 |
7 | TDO | 输入(FT) | JTAG 接口的数据输入,内置上拉电阻 |
6 | TCK | 输出 | JTAG 接口的时钟输出 |
9 | TRST | 输出 | JTAG 接口的复位输出 |
5 | TMS | 输出 | JTAG 接口的模式选择 |
11,12 | GPIO | 输入/输出 | 通用 GPIO,用于 IO 口输入或输出 |
15 | ACT | 输出 | USB 配置完成状态输出引脚,低电平有效;上电期间,如果 ACT 引脚检测到外接了下拉电阻则 DTR1 切换为 TNOW1 功能 |
相关文章:

USB转I2C转SPI芯片CH341与CH347比较
1. 芯片中文资料: USB转I2C转SPI芯片CH341 高速USB转接芯片CH347转9M双串口转I2C转SPI转JTAG转SWD USB2.0高速转接芯片CH347应用开发手册 2. CH341与CH347比较: 类别CH341CH347备注串口速度2M9MCH347的串口速度更快设置CH341的I2C或SPI不能与串口同…...
期权无风险套利(Risk-Free Arbitrage)举例以及期权无套利定价公式
期权市场的无风险套利 中文版 期权市场中的套利实例 为了清楚地说明,让我们通过一个现实的例子来展示套利。 期权市场中的套利实例 假设市场上有以下价格: 标的股票价格:100美元欧式看涨期权(行权价100美元,3个月…...
Java基础知识巩固自测(上)
前言 该文章适用于已初步了解Java基础知识的入门学习者,便于快速回顾知识点,查漏补缺。 内容包括:Java面向对象相关知识、SQL基础语法 复习建议技巧 实用3W思维法(What、Why、How) 1. What(什么&#x…...

通过 Python+Nacos实现微服务,细解微服务架构
shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen 背景 一直以来的想法比较多,然后就用Python编写各种代码脚本。很多…...
如何使用new和delete操作符进行动态内存分配和释放?
在C中,new 和 delete 操作符用于在堆(heap)上动态地分配和释放内存。这是管理内存的一种重要方式,特别是在需要创建可变数量或生命周期与程序执行流程不一致的对象时。 使用 new 进行动态内存分配 当你使用 new 操作符时&#x…...
【SCAU数据挖掘】数据挖掘期末总复习题库选择题及解析
1.将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?( C ) A.频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 解析:数据预处理是数据分析和数据挖掘的重要步骤之一,包括数据清洗、集成、变换、规约(如维度规约、数值规约)等。这…...

顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH)
顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH) 一、最大通话时间 1、配置拨号方案 1、点击拨号方案 ->2、在框中输入通话最大时长->3、点击添加->4、根据图中配置->5、勾选continue。修改拨号方案需要等待一分钟即可生效 action"sched…...
深度学习:使用argparse 模块
在深度学习中,结合 Bash 脚本和 argparse 模块,可以实现高效的任务自动化和参数管理。Bash 脚本可以用来调度任务和管理环境,而 argparse 模块可以用来解析命令行参数,控制深度学习模型的训练和评估过程。 1.argparse 模块 argp…...
unity text根据文本内容自动设置高度
我们经常会遇到需要根据文字数量动态修改文本框高度的需求,我们可以使用文本的行数*每行的高度来计算文本框的高度,伪代码如下: int oneLineHight 50;// 每行的像素高度 private void ResetTextHight(string str) {//设置文字内容ShowText.…...
ARM 汇编 C语言 for循环
在使用 Keil 编译基于 STM32F103 的 C 语言程序时,生成的汇编代码会有一些不同。STM32F103 是基于 ARM Cortex-M3 内核的微控制器,因为汇编语言是 ARM 汇编,而不是 x86 汇编。 示例 C 代码 假设我们有如下的简单 C 语言 for 循环代码&#x…...

java:【@ComponentScan】和【@SpringBootApplication】扫包范围的冲突
# 代码结构如下: 注意【com.chz.myBean.branch】和【com.chz.myBean.main】这两个包是没有生重叠的。 主程序【MyBeanTest1、MyBeanTest2、MyBeanTest3】这两个类是在包【com.chz.myBean.main】下 # 示例代码 【pom.xml】 <dependency><groupId>org.…...

本学期嵌入式期末考试的综合项目,我是这么出题的
时间过得真快,临近期末,又到了老师出卷的时候。作为《嵌入式开发及应用》这门课的主讲教师,今年给学生出的题目有一点点难度,最后的综合项目要求如下所示,各位学生朋友和教师同行可以评论一下难度如何,单片…...

CSS概述
CSS是一种样式表语言,用于为HTML文档控制外观,定义布局。例如, CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面 。 ● 可将页面的内容与表现形式分离,页面内容存放在HTML文档中,而用 于定义表现形式…...

Tensorflow-GPU工具包了解和详细安装方法
目录 基础知识信息了解 显卡算力 CUDA兼容 Tensorflow gpu安装 CUDA/cuDNN匹配和下载 查看Conda driver的版本 下载CUDA工具包 查看对应cuDNN版本 下载cuDNN加速库 CUDA/cuDNN安装 CUDA安装方法 cuDNN加速库安装 配置CUDA/cuDNN环境变量 配置环境变量 核验是否安…...

【python】OpenCV GUI——Trackbar(14.2)
学习来自 OpenCV基础(12)OpenCV GUI中的鼠标和滑动条 文章目录 GUI 滑条介绍cv2.createTrackbar 介绍牛刀小试 GUI 滑条介绍 GUI滑动条是一种直观且快速的调节控件,主要用于改变一个数值或相对值。以下是关于GUI滑动条的详细介绍:…...

Qt自定义日志输出
Qt自定义日志输出 简略版: #include <QApplication> #include <QDebug> #include <QDateTime> #include <QFileInfo> // 将日志类型转换为字符串 QString typeToString(QtMsgType type) {switch (type) {case QtDebugMsg: return "D…...

[C++] vector list 等容器的迭代器失效问题
标题:[C] 容器的迭代器失效问题 水墨不写bug 正文开始: 什么是迭代器? 迭代器是STL提供的六大组件之一,它允许我们访问容器(如vector、list、set等)中的元素,同时提供一个遍历容器的方法。然而…...

Java——变量作用域和生命周期
一、作用域 1、作用域简介 在Java中,作用域(Scope)指的是变量、方法和类在代码中的可见性和生命周期。理解作用域有助于编写更清晰、更高效的代码。 2、作用域 块作用域(Block Scope): 块作用域是指在…...

WPF界面设计
1、使用C#-WPF实现抽屉效果-炫酷漂亮的侧边栏导航菜单-SplitViewMD主题重绘原生控件的美观效果-提供源码Demo下载 码源地址:https://download.csdn.net/download/Prince999999/89424685 2、使用C#-WPF实现抽屉效果-菜单导航功能实现,常规的管理系统应该…...

【C#】使用JavaScriptSerializer序列化对象
在C#开发语言编程中,通常使用系统内置的JavaScriptSerializer类来序列化对象,以便将其转换为JSON格式的文本存储与后台服务通信, 在这里将为大家详细介绍一下这个过程。 文章目录 反序列化序列化忽略属性 假设处理的数据中有一个对象类, 如下 public cl…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...

向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...