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

单片机和微控制器知识汇总——《器件手册--单片机、数字信号处理器和可编程逻辑器件》

目录

四、单片机和微控制器

4.1 单片机(MCU/MPU/SOC)

 一、定义

 二、主要特点

 三、工作原理

 四、主要类型

 五、应用领域

 六、选型与设计注意事项

 七、发展趋势

4.2 数字信号处理器(DSP/DSC)

​编辑​编辑

 一、定义

 二、工作原理

 三、结构特点

 四、应用领域

 五、选型与设计注意事项

 六、典型产品

4.3 可编程逻辑器件(CPLD/FPGA)

一、定义

 二、CPLD与FPGA的主要区别

 三、工作原理

 四、应用领域

 五、选型与设计注意事项

 六、发展趋势


四、单片机和微控制器

单片机和微控制器综合对比表

名称

定义

特点

使用场景

单片机(MCU

MCU(Microcontroller Unit)是一种将计算机的基本功能集成在一个芯片上的微型计算机系统,通常包括处理器核心、存储器(RAM和ROM)、输入/输出接口以及其他功能模块。

集成度高:将处理器、存储器和外设集成在一个芯片上,减少了外部元件数量。

低功耗:适合电池供电的便携式设备。

灵活性高:可以通过编程实现多种功能。

可靠性高:高集成度和低功耗设计使其在恶劣环境下也能稳定运行。

成本低:适合大规模生产

适合低功耗、小尺寸、成本敏感的应用,如家电、玩具、物联网设备等。家电、玩具、工业控制、汽车电子、物联网等。

微处理器(MPU

MPU(Microprocessor Unit)是一种通用处理器,主要用于计算密集型任务,如个人电脑中的CPU。

高性能:通常具有较高的时钟频率和强大的计算能力。

通用性:适用于多种应用场景,如个人电脑、服务器等。

可扩展性:可以通过外接存储器、外设等扩展功能。

适合高性能计算需求的应用,如个人电脑、服务器等。个人电脑、服务器、高性能嵌入式系统等。

片上系统(SoC

SoC(System on Chip)是一种将整个系统集成在一个芯片上的集成电路,包括处理器核心、存储器、外设接口等。

高集成度:将多个功能模块集成在一个芯片上,减少了系统复杂度。

高性能:通常集成多个处理器核心,支持多任务处理。

低功耗:适合移动设备和嵌入式系统。

小尺寸:适合紧凑型设备。

适合高性能、低功耗、小尺寸的复杂系统,如智能手机、平板电脑等。智能手机、平板电脑、智能穿戴设备等。

数字信号处理器(DSP/DSC

DSP(Digital Signal Processor)是一种专门用于处理数字信号的微处理器,具有高速处理能力、低功耗和小尺寸等优点。DSC(Digital Signal Controller)则是DSP和MCU的混合体,结合了DSP的高效计算能力和MCU的灵活性。

高速处理能力:内置硬件乘法器,适合执行矩阵运算和滤波器计算。

低功耗设计:适合电池供电设备。

实时性:能够在短时间内完成复杂的数学运算。

适合需要高效信号处理的应用,如音频处理、图像处理、通信系统等。音频处理、图像与视频处理、通信系统、工业控制、医疗设备等。

可编程逻辑器件(CPLD/FPGA

CPLD(Complex Programmable Logic Device)和FPGA(Field-Programmable Gate Array)是两种常见的可编程逻辑器件,能够实现各种数字逻辑功能。

灵活性高:用户可以通过编程实现各种逻辑功能。

高性能:FPGA支持大规模逻辑设计和高性能计算。

实时重配置:FPGA支持实时重配置,适合动态系统。

适合需要高度灵活性和高性能逻辑设计的应用,如通信系统、工业控制等。通信系统、工业控制、医疗设备、航空航天等。

4.1 单片机(MCU/MPU/SOC)

目前主流单片机综合对比表

单片机

特点

应用范围

8位单片机

51单片机

结构典型,总线专用寄存器集中管理,逻辑位操作功能丰富,指令系统面向控制

广泛用于教学场合和对性能要求不高的场景

PIC单片机

采用RISC结构,Harvard双总线结构,指令流水线设计,运行速度快

适用于需要大量使用的嵌入式系统

AVR单片机

低功耗,高性价比,编程语言易于学习,支持C语言编程

适用于电池供电的低功耗嵌入式系统

16位单片机

MSP430单片机

超低功耗,速度快,采用RISC结构,寻址方式灵活,指令简洁

在低功耗及超低功耗的工业场合应用较多

32位单片机

TM32单片机

基于ARM Cortex-M内核,高性能、低功耗,外设丰富,如1μs的双12位ADC,4兆位/秒的UART等

适用于高性能、低功耗的嵌入式应用

Raspberry Pi

基于ARM处理器,高性能,大容量存储,多种接口

适用于需要高性能计算和大规模存储的嵌入式系统,如智能家居、智能工业控制等

国产单片机

STC单片机

高性能、低功耗、丰富的外设接口

广泛应用于工业控制和消费电子

无线通讯单片机

ESP8266

集成Wi-Fi功能,适合物联网应用

常用于智能家居、智能穿戴等领域

ESP32

支持Wi-Fi和蓝牙,性能更强

适用于需要无线通信的嵌入式系统

 一、定义

单片机(Microcontroller Unit,MCU)是一种将计算机的基本功能集成在一个芯片上的微型计算机系统。它通常包括处理器核心、存储器(RAM和ROM)、输入/输出接口以及其他功能模块。单片机广泛应用于嵌入式系统中,用于控制和管理各种设备和系统。

MPU(Microprocessor Unit)和SoC(System on Chip)是与MCU相关的其他术语,它们在功能和应用场景上有所不同:

 MCU(微控制器):主要用于控制任务,强调低功耗、小尺寸和高集成度。

 MPU(微处理器):通常指通用处理器,主要用于计算密集型任务,如个人电脑中的CPU。

 SoC(片上系统):将整个系统集成在一个芯片上,包括处理器核心、存储器、外设接口等,适用于复杂系统,如智能手机和平板电脑。

 二、主要特点

1. 集成度高:

    MCU将处理器、存储器和外设集成在一个芯片上,减少了外部元件数量,降低了系统复杂度。

2. 低功耗:

    MCU通常设计为低功耗运行,适合电池供电的便携式设备。

3. 灵活性高:

    MCU可以通过编程实现多种功能,适用于各种应用场景。

4. 可靠性高:

    高集成度和低功耗设计使得MCU在恶劣环境下也能稳定运行。

5. 成本低:

    MCU的制造成本较低,适合大规模生产。

 三、工作原理

MCU的工作原理基于冯·诺依曼架构,其基本工作流程如下:

1. 指令读取:

    MCU从存储器中读取指令。

2. 指令解码:

    控制单元对指令进行解码,确定操作类型和操作数。

3. 执行指令:

    执行单元根据解码结果执行指令,如数据处理、输入/输出操作等。

4. 结果存储:

    执行结果存储在寄存器或存储器中。

 四、主要类型

1. 8位MCU:

    适用于简单控制任务,如家电控制、玩具等。

2. 16位MCU:

    适用于中等复杂度的任务,如工业控制、汽车电子等。

3. 32位MCU:

    适用于高性能任务,如智能设备、物联网设备等。

4. SoC:

    集成了多个处理器核心和多种功能模块,适用于复杂系统,如智能手机、平板电脑等。

 五、应用领域

MCU广泛应用于以下领域:

1. 消费电子:

    家电、玩具、智能手表等。

2. 工业控制:

    工业自动化设备、机器人等。

3. 汽车电子:

    发动机控制、车身电子系统等。

4. 物联网:

    传感器网络、智能家居等。

5. 医疗设备:

    检测设备、便携式医疗设备等。

 六、选型与设计注意事项

1. 功能需求:

    根据应用需求选择合适的处理器核心、存储器容量和外设接口。

2. 功耗:

    选择低功耗的MCU,以延长设备的使用寿命。

3. 开发工具:

    选择有良好开发工具支持的MCU,如编译器、调试器等。

4. 成本:

    根据预算选择合适的MCU,平衡性能和成本。

 七、发展趋势

1. 高性能与低功耗:

    MCU正朝着高性能和低功耗的方向发展,以满足复杂应用的需求。

2. 集成化与多功能化:

    SoC的集成度越来越高,能够实现更多功能。

3. 智能化与网络化:

    MCU越来越多地应用于物联网和智能设备中,支持网络连接和智能控制。

单片机(MCU/MPU/SOC)在现代电子技术中扮演着重要角色,其高集成度、低功耗和灵活性使其在各种应用中不可或缺。随着技术的不断发展,单片机的性能和功能将不断提升,满足日益增长的市场需求。

4.2 数字信号处理器(DSP/DSC)

目前数字信号处理器综合对比表

品牌

特点

应用领域

德州仪器

德州仪器是全球领先的DSP供应商,其DSP产品种类丰富,性能卓越,广泛应用于通信、工业控制、音频处理等领域

5G通信、工业自动化、音频处理等

亚德诺

以高性能、低功耗著称,其DSP芯片在信号处理精度和速度方面表现出色

通信、医疗设备、汽车电子等。

恩智浦

专注于汽车电子和通信领域,其DSP芯片具有高度集成化和低功耗的特点

汽车电子、通信基站等

意法半导体

其DSP产品在消费电子和工业控制领域具有优势,性能稳定,性价比高

消费电子、工业自动化等。

Cirrus Logic

在音频处理领域表现突出,其DSP芯片能够提供高质量的音频信号处理

智能手机、平板电脑、智能穿戴设备等

高通

高通的DSP芯片在移动设备和通信领域具有强大的处理能力,支持多种无线通信标准

智能手机、5G通信等

安森美

其DSP芯片在图像处理和视频编解码方面表现出色,适用于需要高分辨率图像处理的应用

安防监控、智能交通等

DSP Group

专注于语音和音频处理,其DSP芯片在语音识别和音频编解码方面具有独特优势

智能语音设备、音频处理等

中国电科第38所

国内领先的DSP研发机构,其产品在军事、航空航天等领域具有重要应用

军事、航空航天等

启珑微电子

国内新兴的DSP供应商,产品在工业控制和消费电子领域逐渐崭露头角

工业自动化、消费电子等

 一、定义

数字信号处理器(DSP)是一种专门用于处理数字信号的微处理器,具有高速处理能力、低功耗和小尺寸等优点。数字信号控制器(DSC)则是DSP和微控制器(MCU)的混合体,结合了DSP的高效计算能力和MCU的灵活性。

 二、工作原理

DSP/DSC的工作原理主要包括以下几个步骤:

1. 信号采集:通过模数转换器(ADC)将模拟信号转换为数字信号。

2. 信号处理:使用算法对数字信号进行滤波、变换、压缩等操作。

3. 信号输出:将处理后的数字信号通过数模转换器(DAC)还原为模拟信号。

 三、结构特点

DSP/DSC的主要结构特点包括:

1. 哈佛架构:采用分离的程序存储器和数据存储器,提高处理效率。

2. 硬件乘法器:内置高效的硬件乘法器,适合执行矩阵运算和滤波器计算。

3. 流水线技术:支持多级流水线操作,提升指令执行速度。

4. 低功耗设计:专为电池供电设备设计,功耗较低。

5. 实时性:能够在短时间内完成复杂的数学运算。

 四、应用领域

DSP/DSC广泛应用于以下领域:

1. 音频处理:音频均衡器、降噪、回声消除。

2. 图像与视频处理:图像增强、边缘检测、视频编码/解码。

3. 通信系统:调制解调、信道均衡。

4. 工业控制:电机控制、数字电源。

5. 医疗设备:心电图(ECG)、脑电图(EEG)信号分析。

6. 物联网(IoT):传感器数据处理。

 五、选型与设计注意事项

1. 处理性能:选择运算速度快、指令集丰富的DSP/DSC。

2. 存储容量:根据应用需求选择合适的存储器容量。

3. 功耗和散热:选择低功耗的DSP/DSC,确保散热设计合理。

4. 接口和通信能力:选择支持多种I/O接口和通信协议的DSP/DSC。

5. 扩展性和可升级性:选择支持外设扩展的DSP/DSC。

6. 软件开发环境:选择有良好开发工具支持的DSP/DSC。

 六、典型产品

1. 德州仪器(TI)C6000系列:高性能浮点和定点DSP,适用于复杂的信号处理任务。

2. Microchip dsPIC系列:结合了DSP和MCU功能,性价比高,适用于电机控制和数字电源。

3. NXP MSC81xx系列:多核DSP,支持高吞吐量信号处理。

DSP/DSC凭借其强大的计算能力和灵活性,在数字信号处理领域得到了广泛应用,是现代电子系统中不可或缺的组件。

4.3 可编程逻辑器件(CPLD/FPGA)

一、定义

可编程逻辑器件(Programmable Logic Device,PLD)是一种用户可编程的集成电路,能够实现各种数字逻辑功能。CPLD(Complex Programmable Logic Device)和FPGA(FieldProgrammable Gate Array)是两种常见的可编程逻辑器件,它们在结构、资源规模、应用场景等方面有所不同。

 二、CPLD与FPGA的主要区别

CPLD与FPGA对比表

特性

CPLD

FPGA

结构和架构

由可编程逻辑模块(PLM)、可编程寄存器数组(PRA)以及时钟管理电路组成

由可编程逻辑块(CLB)、可编程片上内存(Block RAM)、可编程I/O资源和其他特定功能模块组成

适用场景

适用于中等规模、低功耗、低成本的逻辑设计

适用于大规模、高性能、灵活性要求高的逻辑设计

配置技术

使用EEPROM、Flash等非挥发性存储器进行配置

使用SRAM(静态随机存储器)进行配置,支持实时重配置

时序和时钟管理

通常具有固定的时序延迟,时钟管理相对简单

时序性能高度可配置,具有更复杂的时钟管理结构

成本

成本相对较低,适合一些成本敏感的应用

成本较高,但提供更大规模、更高性能的逻辑容量

功耗

通常具有较低的功耗

由于更大的逻辑容量和灵活性,通常具有较高的功耗

 三、工作原理

1. 硬件描述:

    用户通过硬件描述语言(HDL)或原理图设计逻辑电路。

2. 编译与综合:

    使用开发工具将HDL代码转换为逻辑电路的网表。

3. 配置:

    将网表配置到CPLD或FPGA中,完成逻辑功能的定义。

4. 操作:

    配置完成后,器件按照用户定义的逻辑功能运行。

 四、应用领域

CPLD和FPGA广泛应用于以下领域:

 通信系统:信号处理、协议转换。

 工业控制:电机控制、自动化系统。

 医疗设备:信号采集与处理。

 航空航天:高可靠性控制、信号处理。

 消费电子:显示驱动、音频处理。

 五、选型与设计注意事项

1. 性能要求:根据应用需求选择合适的逻辑容量和性能。

2. 功耗:考虑器件的功耗和散热需求。

3. 资源消耗:评估所需的逻辑资源、存储器资源和I/O资源。

4. 预算和成本:平衡性能和成本。

5. 供应商支持和生态系统:选择有良好开发工具和社区支持的供应商。

 六、发展趋势

1. 高性能与高集成度:FPGA和CPLD不断向更高性能、更大逻辑容量方向发展。

2. 系统级集成:FPGA正在向芯片系统(System on Chip,SoC)方向发展,集成更多功能。

3. 低功耗设计:在保持高性能的同时,降低功耗以适应移动和嵌入式应用。

CPLD和FPGA作为可编程逻辑器件,在数字系统设计中具有重要的地位。它们提供了灵活的设计方案,能够快速适应不同的应用需求,广泛应用于通信、工业、医疗等领域。

相关文章:

单片机和微控制器知识汇总——《器件手册--单片机、数字信号处理器和可编程逻辑器件》

目录 四、单片机和微控制器 4.1 单片机(MCU/MPU/SOC) 一、定义 二、主要特点 三、工作原理 四、主要类型 五、应用领域 六、选型与设计注意事项 七、发展趋势 4.2 数字信号处理器(DSP/DSC) ​编辑​编辑 一、定义 二、工作原理 三、结构特点 四、应用领域 五、选型与设计注…...

LeetCode hot 100 每日一题(15)——48.旋转图像

这是一道难度为中等的题目,让我们来看看题目描述: 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 提示…...

Java多线程精讲:线程操作与状态转换全解析

前言 本章内容为作者结合学习与实践的总结整理,虽力求准确,但疏漏之处在所难免。若有任何疑问或建议,恳请读者朋友们不吝指正,共同完善知识体系,感激不尽! 一、认识多线程(Thread&#…...

HashMap的位操作是什么?HashSet 的 contains 方法复杂度是多少?红黑树简单讲一下?

一、HashMap 的位操作设计 HashMap 使用位运算优化哈希计算与索引定位,核心场景如下: 哈希扰动函数 计算键的哈希值时,将高16位与低16位异或: static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hash…...

GitHub开源的容器管理面板-Dpanel

dpanel Docker安装部署二进制部署 GitHub官网 一块轻量化docker可视化管理面板,由国人开发,个人觉得是比较好用的,功能都很齐全,并且可以通过修改源码,自定义前端样式等。 Docker安装部署 官网 部署环境&#xff1…...

vue-将组件内容导出为Word文档-docx

1. 安装依赖 首先,我们需要安装docx库,以便在前端生成Word文档。可以通过以下命令进行安装: npm install docx 2. 实现导出功能 2.1 初始化文档 使用docx库创建一个新的文档实例,并定义文档的结构和内容。我们使用Document、…...

IMX6ULL学习篇——系统学习设备树

IMX6ULL学习篇——系统学习设备树 ​ 这篇博客的目的是系统的整理一下设备树当中的一些非常基本的概念。基于之前的学习,我们已经至少掌握了字符设备的基本的框架,编写一个最简单的字符设备简单的流程。 ​ 但是我们知道,一个外设很有可能是…...

使用vector构造杨辉三角形

力扣118题: 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1…...

亮数据爬取API爬取亚马逊电商平台实战教程

前言 在当今数据驱动的商业环境中,企业需要快速、精准地获取互联网上的公开数据以支持市场分析、竞品调研和用户行为研究。然而,传统的手动网页爬取方式面临着诸多挑战:IP封锁、验证码干扰、网站结构频繁变更,以及高昂的运维成本…...

AI+金融 应用 使用DeepSeek、Qwen等大模型输入自然语言,得到通达信等行情软件公式代码,导入后使用

AI金融 应用 使用DeepSeek、Qwen等大模型输入自然语言,得到通达信等行情软件公式代码,导入后使用。不会编程,也能行情软件中实现个性化条件选股,个性化技术指标。 AIbxm低估值趋势选股策略,参考提示词: 编…...

SmolVLM2: 让视频理解能力触手可及

一句话总结: SmolVLM 现已具备更强的视觉理解能力📺 SmolVLM2 标志着视频理解技术的根本性转变——从依赖海量计算资源的巨型模型,转向可在任何设备运行的轻量级模型。我们的目标很简单: 让视频理解技术从手机到服务器都能轻松部署。 我们同步发布三种规…...

去中心化金融

什么是去中心化金融 去中心化金融(Decentralized Finance,简称 DeFi)是一种基于区块链技术构建的金融系统,旨在通过去除传统金融机构(如银行、证券公司等)作为中介,提供各种金融服务。这些服务…...

Mysql并发事务带来哪些问题?

大家好,我是锋哥。今天分享关于【Mysql并发事务带来哪些问题?】面试题。希望对大家有帮助; Mysql并发事务带来哪些问题? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中,事务并发执行时会引发一系列问题&#xff0c…...

PCL 点云多平面探测

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Open3D为我们提供了一种点云多平面探测的算法,该算法使用基于鲁棒统计的方法进行平面补丁检测。该算法具体过程:首先将点云细分为更小的块(使用二分法),然后尝试为每个点云块匹配一个平面。如果平面通过了鲁棒平…...

OpenBMC:BmcWeb添加路由5 设置handler函数

对路由对象完成了权限和method的设置后,最重要的就是设置路由的处理函数: //http\routing\taggedrule.hpptemplate <typename... Args> class TaggedRule :public BaseRule,public RuleParameterTraits<TaggedRule<Args...>> {...template <typename F…...

攻破tensorflow,勇创最佳agent(2)---损失(loss) 准确率(accuracy)问题

实战播: 怎么判定一个模型好不好,你设置的值对不对? 需要再看几个值: 例如: model Sequential()for units in model_structure:model.add(Dense(units, activationrelu))model.add(Dropout(train_config.get(dropout_rate, 0.3)))model.add(Dense(1, activationsigmoid)) 他…...

括号合法题

一、括号合法题 2116. 判断一个括号字符串是否有效 //采用从左往右和从右往左遍历的贪心算法&#xff0c;分别保证前缀合法&#xff0c;后缀合法。public boolean canBeValid(String s, String locked) {int ns.length();if (n%21) return false;int num0;// 从左到右扫描&…...

C++11之深度理解lambda表达式

前言 在现代C中&#xff0c;Lambda表达式提供了一种简洁而强大的方式来定义匿名函数&#xff0c;使代码更具可读性和灵活性。自C11引入Lambda以来&#xff0c;它已经成为STL算法、并发编程和回调机制中的重要工具。随着C14、C17和C20的不断演进&#xff0c;Lambda的功能也在不断…...

字符串常量,数组和指针的不同形式

在 C 语言中&#xff0c;字符串 "hello" 存储在内存中是一个字符数组&#xff0c;它的内存布局通常如下&#xff1a; 1. 字符串常量区&#xff1a; 字符串常量&#xff08;如 "hello"&#xff09;是存储在程序的数据段&#xff08;通常称为 .data 或 .ro…...

全面讲解python的uiautomation包

在常规的模拟鼠标和键盘操作&#xff0c;我们一般使用pyautogui&#xff0c;uiautomation模块不仅能直接支持这些操作&#xff0c;还能通过控件定位方式直接定位到目标控件的位置&#xff0c;而不需要自己去获取对应坐标位置。uiautomation模块不仅支持任意坐标位置截图&#x…...

性能测试笔记

8、JMeter扩展开发 扩展组件开发的意义 输入参数协议复杂调用逻辑功能等等 开发前的工具准备 下载jdk并安装&#xff0c;配置环境变量下载maven&#xff0c;配置环境变量修改settings.xml本地仓库&#xff0c;远程仓库的地址Eclipse新建Maven项目编辑 pom.xml Maven常用命令…...

相对位置2d矩阵和kron运算的思考

文章目录 1. 相对位置矩阵2d2. kron运算 1. 相对位置矩阵2d 在swin-transformer中&#xff0c;我们会计算每个patch之间的相对位置&#xff0c;那么我们看到有一连串的拉伸和相减&#xff0c;直接贴代码&#xff1a; import torch import torch.nn as nntorch.set_printoptio…...

从C语言开始的C++编程生活(2)

前言 本系列文章承接C语言的学习&#xff0c;需要有C语言的基础才能学会哦~ 第2篇主要讲的是有关于C的缺省参数和函数重载。 C才起步&#xff0c;都很简单呢&#xff01; 目录 前言 缺省参数 基本语法 缺省参数的作用 函数重载 基本语法 重载的作用 缺省参数 缺省参数…...

【设计模式】深入解析装饰器模式(Decorator Pattern)

深入解析装饰器模式&#xff08;Decorator Pattern&#xff09; 一、装饰器模式的核心概念 装饰器模式是一种结构型设计模式&#xff0c;用于动态地给对象添加新功能&#xff0c;而不改变其原始代码。 1. 为什么需要装饰器&#xff1f; 避免继承带来的类爆炸问题&#xff1…...

K8S集群新增和删除Node节点(K8s Cluster Adds and Removes Node Nodes)

实战&#xff1a;在已有K8S集群如何新增和删除Node节点 在Kubernetes (K8S) 集群中&#xff0c;Node节点是集群中的工作节点&#xff0c;它们运行着容器的实际实例。管理K8S集群中的Node节点&#xff0c;包括新增和删除节点&#xff0c;是一个常见且重要的操作&#xff0c;可以…...

2503C++,C++标准的执行

最优雅的应该是c26刚刚引入的std::execution,通过sender/receiver模型和常用的异步算法来简化调用异步逻辑,还可随时改成协程. #include <stdexec/execution.hpp> #include <exec/static_thread_pool.hpp> int main() {exec::static_thread_pool pool(3);auto sch…...

nodejs中实现一个自定义的require方法

1.前言 大家对nodejs中的require方法应该不会陌生,这个方法可以用来导入nodejs的内置模块,自定义模块,第三方模块等,使用频率非常高,那么这个方法内部是如何实现的呢?本篇文章就是从头到尾拆分实现流程,最终实现一个自定义的require方法的 2.前置操作 导入所需的nodejs内置…...

vscode/cursor中python运行路径设置 模块导入问题

vscode/cursor中python运行路径设置 ## 文件路径设置 问题描述 pycharm的项目用cursor运行&#xff0c;出现目录找不到 后来利用 os.getcwd()&#xff0c;经过打印调试发现是IDE的本身配置问题 pycharm中&#xff0c;os.getcwd()默认打开当前脚本所在目录 vscode/cursor中…...

Spring学习笔记05——Spring Boot的文件结构2(POJO类)

在Spring Boot项目中&#xff0c;将Entity、DTO、VO放在POJO子模块中是一种常见的分层设计&#xff0c;它们各自承担不同的职责&#xff0c;通过一个通俗的例子来解释它们的作用&#xff1a; POJO&#xff08;Plain Old Java Object&#xff09;是指普通的、简单的Java对象&am…...

html和css 实现元素顺时针旋转效果(椭圆形旋转轨迹)

一 实现效果 二 实现代码 我自己是用react写的。 1. react 代码如下&#xff1a; import React from "react"; import styles from "./index.less";export default () > {return <div className{styles.containers}><div className{styles.c…...

C# 的Lambda表达式‌常见用法和示例

C# 的 ‌Lambda 表达式‌是一种强大的语法糖&#xff0c;能够极大简化代码并增强灵活性。以下是它的主要功能和应用场景&#xff0c;结合具体示例说明&#xff1a; 1. ‌简化委托实例化‌ Lambda 可以快速定义委托&#xff08;如 Func、Action&#xff09;&#xff0c;无需显式…...

2024年数维杯数学建模C题天然气水合物资源量评价解题全过程论文及程序

2024年数维杯数学建模 C题 天然气水合物资源量评价 原题再现&#xff1a; 天然气水合物&#xff08;Natural Gas Hydrate/Gas Hydrate&#xff09;即可燃冰&#xff0c;是天然气与水在高压低温条件下形成的类冰状结晶物质&#xff0c;因其外观像冰&#xff0c;遇火即燃&#…...

Qt中10倍提升动态截屏及渲染60帧/秒

Qt中10倍提升动态截屏及渲染60帧/秒 理解模态窗口和非模态窗口 在C中&#xff0c;窗口的**模态&#xff08;Modal&#xff09;和非模态&#xff08;Modeless&#xff09;**显示是两种不同的对话框或窗口行为模式&#xff0c;主要区别体现在用户交互和程序流程控制上。以下是它…...

OpenCV 基础全方位剖析:夯实计算机视觉开发根基

在计算机视觉的广袤领域中&#xff0c;OpenCV 是一座极为关键的里程碑。无论是在前沿的学术研究&#xff0c;还是在蓬勃发展的工业界&#xff0c;OpenCV 凭借其强大的功能与高效的性能&#xff0c;为开发者提供了丰富的图像处理和计算机视觉算法&#xff0c;助力无数项目落地。…...

Java试题

试题&#xff1a; 解析 1-5&#xff1a; 5&#xff1a; 6&#xff1a; 7&#xff1a; 8&#xff1a; 9&#xff1a; 10&#xff1a; 11: 12: 13:...

基于 arco 的 React 和 Vue 设计系统

arco 是字节跳动出品的企业级设计系统&#xff0c;支持React 和 Vue。 安装模板工具 npm i -g arco-cli创建项目目录 cd someDir arco init hello-arco-pro? 请选择你希望使用的技术栈React❯ Vue? 请选择一个分类业务组件组件库Lerna Menorepo 项目❯ Arco Pro 项目看到以…...

解密细胞衰老与溶解:AbMole助力胰腺癌研究新突破

近日&#xff0c;一项由德国罗斯托克大学医学中心的研究团队完成的研究&#xff0c;在探索胰腺癌细胞衰老与溶解的复杂机制上取得了重要进展。这项研究不仅深化了我们对胰腺癌生物学特性的理解&#xff0c;更为未来的研究开辟了新的方向。而在这场科学探索中&#xff0c;AbMole…...

罗德与施瓦茨FSU8,频谱分析仪

罗德与施瓦茨FSU8频谱分析仪​ R&S FSU系列频谱仪是动态范围、相位噪声、电平精度和分辨率带宽等频谱仪指标&#xff0c;所有这些指标也是用户设计、测量和生产下一代无线通讯元件的重要保障。出色的表现能力 频率范围&#xff1a;从20Hz开始&#xff0c;分别到3.6 GHz, 8…...

【零基础JavaScript入门 | Day7】三大交互案例深度解析|从DOM操作到组件化开发

【零基础JavaScript入门 | Day7】三大交互案例深度解析&#xff5c;从DOM操作到组件化开发 &#x1f31f;今日知识图谱&#xff1a; ✅ 事件驱动编程 → 按钮交互与定时器控制 ✅ 组件化思维 → 可复用UI模块开发 ✅ 用户体验优化 → 动画与状态反馈设计 ✅ 工程化实践 → 代码…...

[BalticOI 2009] Radio Transmission 无线传输

题目来自洛谷网站&#xff1a; KMP思路&#xff1a; 结论&#xff1a;n - ne[n] 模拟样例&#xff0c;如下图所示&#xff1a; 代码&#xff1a; #include<bits/stdc.h> #define int long long using namespace std; const int N 1e620;int n; char s[N]; int ne[N];…...

SvelteKit 最新中文文档教程(10)—— 部署 Cloudflare Pages 和 Cloudflare Workers

前言 Svelte&#xff0c;一个语法简洁、入门容易&#xff0c;面向未来的前端框架。 从 Svelte 诞生之初&#xff0c;就备受开发者的喜爱&#xff0c;根据统计&#xff0c;从 2019 年到 2024 年&#xff0c;连续 6 年一直是开发者最感兴趣的前端框架 No.1&#xff1a; Svelte …...

32位汇编:MASM32环境搭建与汇编窗口程序

引言 “汇编语言”是计算机底层的编程语言&#xff0c;直接操作硬件资源。32位汇编相比16位汇编在寄存器宽度、内存寻址和指令集等方面有了显著提升。本文将带你从零开始搭建32位汇编开发环境&#xff0c;并编写第一个窗口程序。 1. 环境搭建 1.1 下载MASM32 MASM32是一个专门…...

如何在 `php-fpm` 启动后自动运行自定义命令

如何在 php-fpm 启动后自动运行自定义命令 在使用 php-fpm 时&#xff0c;有时需要在 php-fpm 启动后自动运行一些自定义命令&#xff0c;例如启动一个 Web 应用程序。本文将详细介绍如何通过 systemd 的 ExecStartPost 指令实现这一功能&#xff0c;并记录解决过程中遇到的问…...

26考研——图_图的代码实操(6)

408答疑 文章目录 五、图的代码实操图的存储邻接矩阵结构定义初始化插入顶点获取顶点位置在顶点 v1 和 v2 之间插入边获取第一个邻接顶点获取下一个邻接顶点显示图 邻接表结构定义初始化图插入顶点获取顶点位置在顶点 v1 和 v2 之间插入边获取第一个邻接顶点获取下一个邻接顶点…...

栈资源释放示例

import java.util.EmptyStackException; /** * 栈资源释放示例类 * 栈资源在编程中通常指两种概念&#xff1a;1) 内存中的调用栈空间&#xff08;存储方法调用和局部变量&#xff09;&#xff0c;由系统自动管理 * 2) 自定义的栈数据结构&#xff08;如链表实现的栈对象&…...

【Qt 01】cmake搭建Qt VS2019开发环境

文章目录 准备第一步&#xff1a;安装Qt5 库第二步&#xff1a;编写CMakeLists.txt第三步&#xff1a;编写批处理文件其他配置Qt VS Toolsqt 源码调试配置 疑问初始的.ui, .qrc文件如何生成&#xff1f; 准备 编码&#xff1a;vscode debug: vs2019 Qt vs Tools 插件 c包管理…...

余弦退火算法与学习率预热

余弦退火算法与学习率预热 总述&#xff1a; &#xff08;1&#xff09;标准余弦退火算法&#xff08;Cosine Annealing&#xff09;是通过单次的余弦曲线调整学习率&#xff0c;在一个周期内让学习率从一个最大值平滑下降η_max到最小值η_min&#xff0c;这种调整模式是非周…...

ref vs reactive,watch vs watchEffect的区别与使用场景

一、ref 与 reactive 的核心区别 使用场景 ref:处理基本数据类型&#xff1b;需要重新赋值对象&#xff08;如从api获取新数据&#xff09; reactive&#xff1a;处理复杂的嵌套对象或者数组&#xff0c;不需要整体替换&#xff0c;直接访问属性&#xff08;避免频繁写.value&…...

SQLark SQL编辑器秘籍,编写高效SQL查询

SQLark 是一款功能强大的数据库开发和管理工具&#xff0c;用于快速查询、创建和管理不同类型的数据库系统&#xff0c;支持达梦、Oracle 和 MySQL 数据库。SQLark内置的 SQL 编辑器&#xff0c;基于语法解析&#xff0c;集成智能提示、实时语法检查及语法高亮等功能&#xff0…...

LLM之RAG实战(五十二)| 如何使用混合搜索优化RAG 检索

在RAG项目中&#xff0c;大模型生成的参考内容&#xff08;专业术语称为块&#xff09;来自前一步的检索&#xff0c;检索的内容在很大程度上直接决定了生成的效果&#xff0c;因此检索对于RAG项目至关重要&#xff0c;最常用的检索方法是关键字搜索和语义搜索。本文将分别介绍…...