wordpress 登录验证/seo优化网站技术排名百度推广

wordpress 登录验证,seo优化网站技术排名百度推广,网站主页设计收费,程序员自己做网站怎么能来钱nRF24L01 采用 QFN20 封装,有 20 个引脚,以下是各引脚的详细介绍: 1. 电源引脚 ◦ VDD:电源输入端,一般接 3V 电源,为芯片提供工作电压,供电电压范围为 1.9V~3.6V。 ◦ VSS&#xf…

nRF24L01 采用 QFN20 封装,有 20 个引脚,以下是各引脚的详细介绍:
1. 电源引脚
◦ VDD:电源输入端,一般接 + 3V 电源,为芯片提供工作电压,供电电压范围为 1.9V~3.6V。
◦ VSS:电源地引脚,接地,为芯片提供电气参考电位。
◦ VDD_PA:为功率放大器供电,输出为 1.8V,给射频功率放大器提供所需的电源。
◦ DVDD:去耦电路电源正极端,用于连接去耦电容,为芯片内部电路提供稳定的电源。
2. SPI 接口引脚
◦ CSN:SPI 片选信号引脚,低电平有效。当 CSN 为低电平时,芯片被选中,微处理器可以通过 SPI 接口对 nRF24L01 进行配置和数据传输。
◦ SCK:SPI 时钟引脚,用于同步 SPI 数据传输,由微处理器提供时钟信号,决定数据传输的速率和时序。
◦ MOSI:主设备输出从设备输入引脚,微处理器通过该引脚将数据发送到 nRF24L01 芯片中,进行寄存器配置、发送数据等操作。
◦ MISO:主设备输入从设备输出引脚,nRF24L01 通过该引脚将数据返回给微处理器,如返回寄存器的值、接收的数据等。
3. 控制与状态引脚
◦ CE:使能发射或接收引脚,数字输入。在 CSN 为低的情况下,CE 协同 CONFIG 寄存器共同决定 nRF24L01 的状态,用于选择芯片的工作模式,如发射模式、接收模式、待机模式等。
◦ IRQ:中断标志位引脚,数字输出,低电平触发。当状态寄存器中 TX_DS(数据发送完成中断位)、RX_DR(接收数据中断位)或 MAX_RT(达到最多次重发中断位)为高时触发中断,通知微处理器进行相应的处理。
4. 晶体振荡器引脚
◦ XC2:晶体振荡器 2 脚,模拟输出,用于连接外部晶体振荡器的一端,与 XC1 共同构成晶体振荡电路,为芯片提供时钟信号。
◦ XC1:晶体振荡器 1 脚 / 外部时钟输入脚,模拟输入,可连接外部晶体振荡器的另一端,也可以作为外部时钟信号的输入引脚。
5. 天线接口引脚
◦ ANT1:天线接口 1,用于连接天线,实现射频信号的发射和接收。
◦ ANT2:天线接口 2,同样用于连接天线,与 ANT1 共同作用,提高射频信号的传输性能。
6. 参考电流输入引脚
◦ IREF:参考电流输入引脚,模拟输入,用于输入参考电流,为芯片内部的电路提供基准电流。

  1. ADC 配置

/* ADC 及引脚 定义 */

#define ADC_ADCX_CHY_GPIO_PORT GPIOA

#define ADC_ADCX_CHY_GPIO_PIN GPIO_PIN_5

#define ADC_ADCX_CHY_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOC_CLK_ENABLE();\

}while(0) /* PA 口时钟使能 */

#define ADC_ADCX ADC1

#define ADC_ADCX_CHY ADC_CHANNEL_5 /* 通道 Y, 0 <= Y <= 16 */

/* ADC1 时钟使能 */

#define ADC_ADCX_CHY_CLK_ENABLE() do{ __HAL_RCC_ADC1_CLK_ENABLE();}while(0)

ADC_HandleTypeDef hadc;

void ADC_Init(void)

{

        __HAL_RCC_ADC1_CLK_ENABLE();// 使能ADC时钟

    //  配置ADC结构体参数

    hadc.Instance = ADC1;  // 选择使用ADC1,

hadc.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;

    // 时钟预分频,这里将APB2时钟(PCLK)除以4作为ADC时钟,

hadc.Init.Resolution = ADC_RESOLUTION_12B; // 分辨率设置为12位,这意味着ADC转换结果的范围是0 - 4095

hadc.Init.ScanConvMode = DISABLE; // 禁用扫描模式,因为我们只处理单个通道

hadc.Init.ContinuousConvMode = ENABLE;

// 启用连续转换模式,ADC会不断进行转换,而不是只进行一次

hadc.Init.DiscontinuousConvMode = DISABLE; // 禁用不连续转换模式

hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;

// 不使用外部触发转换,即采用软件触发

 hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START; // 软件触发ADC转换

hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT; // 数据右对齐,转换结果的低12位有效

hadc.Init.NbrOfConversion = 1; // 转换通道数量为1

hadc.Init.DMAContinuousRequests = DISABLE; // 禁用DMA连续请求,这里不使用DMA传输

hadc.Init.EOCSelection = ADC_EOC_SINGLE_CONV; // 单个转换结束标志

    // 3. 初始化ADC

if (HAL_ADC_Init(&hadc) != HAL_OK)

    {

        Error_Handler();// 初始化失败处理

    }

    ADC_ChannelConfTypeDef sConfig;// 4. 配置ADC通道

sConfig.Channel = ADC_CHANNEL_0;  // 选择ADC通道0,可根据实际连接的引脚修改

    sConfig.Rank = 1; // 通道转换顺序为第1个

    sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES;

    // 采样时间设置为3个ADC时钟周期,可根据需要调整

    if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)

    {

                Error_Handler();// 通道配置失败处理

    }

}

// 错误处理函数示例

void Error_Handler(void)

{

    while (1)

    {

        // 可以添加错误提示代码,如点亮LED等

    }

}

音频信号采集,模拟信号转换为数字信号

uint16_t adc_value;

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)

{

    if (hadc->Instance == ADC1)

    {

        adc_value = HAL_ADC_GetValue(hadc);

        // 在这里可以对采集到的数字音频信号进行进一步处理

GPIO_InitTypeDef gpio_init_struct;

ADC_ADCX_CHY_CLK_ENABLE(); /* 使能 ADCx 时钟 */

ADC_ADCX_CHY_GPIO_CLK_ENABLE(); /* 开启 GPIO 时钟 */

/* AD 采集引脚模式设置,模拟输入 */

gpio_init_struct.Pin = ADC_ADCX_CHY_GPIO_PIN;

gpio_init_struct.Mode = GPIO_MODE_ANALOG;

gpio_init_struct.Pull = GPIO_PULLUP;

HAL_GPIO_Init(ADC_ADCX_CHY_GPIO_PORT, &gpio_init_struct);

    }

}

编码与调制

#include "nrf24l01.h"

void ASK_Modulate(uint16_t data)

{

    // 将数字信号转换为适合ASK调制的形式,例如0对应低电平,非0对应高电平

    uint8_t modulated_data = (data == 0)? 0 : 1;

    // 发送调制后的数据到nRF24L01

    NRF24L01_TxPacket(&modulated_data);

}

无线传输

#include "stm32f4xx_hal.h"

#include "nrf24l01.h"

// 定义nRF24L01相关引脚

#define NRF24L01_CE_Pin GPIO_PIN_0

#define NRF24L01_CE_GPIO_Port GPIOA

#define NRF24L01_CSN_Pin GPIO_PIN_1

#define NRF24L01_CSN_GPIO_Port GPIOA

#define NRF24L01_IRQ_Pin GPIO_PIN_2

#define NRF24L01_IRQ_GPIO_Port GPIOA

// 定义SPI句柄

extern SPI_HandleTypeDef hspi1;

// 初始化nRF24L01相关GPIO引脚

static void NRF24L01_GPIO_Init(void)

{

    GPIO_InitTypeDef GPIO_InitStruct

= {0};

    __HAL_RCC_GPIOA_CLK_ENABLE();

    // 配置CE引脚

    GPIO_InitStruct

.Pin = NRF24L01_CE_Pin;

    GPIO_InitStruct

.Mode = GPIO_MODE_OUTPUT_PP;

    GPIO_InitStruct

.Pull = GPIO_NOPULL;

    GPIO_InitStruct

.Speed = GPIO_SPEED_FREQ_LOW;

    HAL_GPIO_Init(NRF24L01_CE_GPIO_Port, &GPIO_InitStruct);

    // 配置CSN引脚

    GPIO_InitStruct

.Pin = NRF24L01_CSN_Pin;

    GPIO_InitStruct

.Mode = GPIO_MODE_OUTPUT_PP;

    GPIO_InitStruct

.Pull = GPIO_NOPULL;

    GPIO_InitStruct

.Speed = GPIO_SPEED_FREQ_LOW;

    HAL_GPIO_Init(NRF24L01_CSN_GPIO_Port, &GPIO_InitStruct);

    // 配置IRQ引脚

    GPIO_InitStruct

.Pin = NRF24L01_IRQ_Pin;

    GPIO_InitStruct

.Mode = GPIO_MODE_INPUT;

    GPIO_InitStruct

.Pull = GPIO_NOPULL;

    HAL_GPIO_Init(NRF24L01_IRQ_GPIO_Port, &GPIO_InitStruct);

    // 初始化CE和CSN引脚电平

    HAL_GPIO_WritePin(NRF24L01_CE_GPIO_Port, NRF24L01_CE_Pin, GPIO_PIN_RESET);

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_SET);

}

// 向nRF24L01写寄存器

static void NRF24L01_Write_Reg(uint8_t reg, uint8_t value)

{

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_RESET);

    HAL_SPI_Transmit(&hspi1, ®, 1, 100);

    HAL_SPI_Transmit(&hspi1, &value, 1, 100);

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_SET);

}

// 从nRF24L01读寄存器

static uint8_t NRF24L01_Read_Reg(uint8_t reg)

{

    uint8_t value;

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_RESET);

    HAL_SPI_Transmit(&hspi1, ®, 1, 100);

    HAL_SPI_Receive(&hspi1, &value, 1, 100);

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_SET);

    return value;

}

// 初始化nRF24L01

void NRF24L01_Init(void)

{

    // 初始化相关GPIO引脚

    NRF24L01_GPIO_Init();

    // 延时一段时间等待nRF24L01上电稳定

    HAL_Delay(100);

    // 配置为发射模式(可根据需要修改为接收模式)

    NRF24L01_Write_Reg(NRF24L01_REG_CONFIG, 0x0E); // 使能CRC,2字节CRC校验,上电,发射模式

    // 设置通道频率

    NRF24L01_Write_Reg(NRF24L01_REG_RF_CH, 0x40); // 通道76

    // 设置数据速率和发射功率

    NRF24L01_Write_Reg(NRF24L01_REG_RF_SETUP, 0x0F); // 2Mbps速率,最大发射功率

    // 设置接收地址宽度

    NRF24L01_Write_Reg(NRF24L01_REG_SETUP_AW, 0x03); // 5字节地址宽度

    // 设置自动重发时间和次数

    NRF24L01_Write_Reg(NRF24L01_REG_SETUP_RETR, 0x1A); // 自动重发延迟500us,重发次数10次

    // 设置接收通道0地址

    uint8_t rx_addr_p0[5] = {0xE7, 0xE7, 0xE7, 0xE7, 0xE7};

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_RESET);

    HAL_SPI_Transmit(&hspi1, (uint8_t *)&NRF24L01_CMD_WRITE_REG + NRF24L01_REG_RX_ADDR_P0, 1, 100);

    HAL_SPI_Transmit(&hspi1, rx_addr_p0, 5, 100);

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_SET);

    // 设置发射地址

    uint8_t tx_addr[5] = {0xE7, 0xE7, 0xE7, 0xE7, 0xE7};

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_RESET);

    HAL_SPI_Transmit(&hspi1, (uint8_t *)&NRF24L01_CMD_WRITE_REG + NRF24L01_REG_TX_ADDR, 1, 100);

    HAL_SPI_Transmit(&hspi1, tx_addr, 5, 100);

    HAL_GPIO_WritePin(NRF24L01_CSN_GPIO_Port, NRF24L01_CSN_Pin, GPIO_PIN_SET);

    // 设置接收通道0数据长度

    NRF24L01_Write_Reg(NRF24L01_REG_RX_PW_P0, 1); // 1字节数据长度

    // 清除中断标志

    NRF24L01_Write_Reg(NRF24L01_REG_STATUS, 0x70);

}int main(void)

{

    // 初始化ADC、nRF24L01等

    ADC_Init();

    NRF24L01_Init();

    while (1)

    {

        // 启动ADC转换

        HAL_ADC_Start_IT(&hadc);

        // 等待ADC转换完成,在中断中获取adc_value

        // 对采集到的音频数据进行编码和ASK调制并发送

        ASK_Modulate(adc_value);

    }

}

DAC 实验数模转换器

typedef struct

{

 DAC_TypeDef *Instance; /* DAC 寄存器基地址 */

 __IO HAL_DAC_StateTypeDef State; /* DAC 工作状态 */

 HAL_LockTypeDef Lock; /* DAC 锁定对象 */

 DMA_HandleTypeDef *DMA_Handle1; /* 通道 1 的 DMA 处理句柄指针 */

 DMA_HandleTypeDef *DMA_Handle2; /* 通道 2 的 DMA 处理句柄指针 */

 __IO uint32_t ErrorCode; /* DAC 错误代码 */

} DAC_HandleTypeDef;

typedef struct

{

  uint32_t Trigger;     //指定DAC触发源

DAC_TRIGGER_NONE:不使用触发源,通过软件触发。

DAC_TRIGGER_T6_TRGO:使用定时器 6 的触发输出(TRGO)作为触发源。

DAC_TRIGGER_T3_TRGO:使用定时器 3 的触发输出(TRGO)作为触发源。

  uint32_t OutputBuffer;  //指定DAC输出缓冲状态

DAC_OUTPUTBUFFER_ENABLE:使能输出缓冲,提高输出驱动能力。

DAC_OUTPUTBUFFER_DISABLE:禁用输出缓冲。

} DAC_InitTypeDef;

MSP 初始化函数 HAL_DAC_MspInit,

void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac);

DAC 的通道参数初始化函数:

HAL_StatusTypeDef HAL_DAC_ConfigChannel(DAC_HandleTypeDef *hdac,

DAC_ChannelConfTypeDef *sConfig, uint32_t Channel);

typedef struct

{

 uint32_t DAC_Trigger; /* DAC 触发源的选择 */

 uint32_t DAC_OutputBuffer; /* 启用或者禁用 DAC 通道输出缓冲区 */

} DAC_ChannelConfTypeDef;

使能启动 DAC 转换通道函数,

HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef *hdac, uint32_t Channel);

DAC 的通道输出值函数,其声明如下:

HAL_StatusTypeDef HAL_DAC_SetValue(DAC_HandleTypeDef *hdac, uint32_t Channel,

uint32_t Alignment, uint32_t Data);

Channel选择输出通道, DAC_CHANNEL_1或DAC_CHANNEL_2

DAC 读取通道输出值函数:

uint32_t HAL_DAC_GetValue(DAC_HandleTypeDef *hdac, uint32_t Channel);

启动 DAC 使用 DMA 方式传输函数,

HAL_StatusTypeDef HAL_DAC_Start_DMA(DAC_HandleTypeDef *hdac, uint32_t Channel,

uint32_t *pData, uint32_t Length, uint32_t Alignment);

形参 3 是使用 DAC 输出数据缓冲区的指针。

形参 4 是 DAC 输出数据的长度。

形参 5 是指定 DAC 通道的数据对齐方式,有:DAC_ALIGN_8B_R(8 位右对齐)、

DAC_ALIGN_12B_L(12 位左对齐)和 DAC_ALIGN_12B_R(12 位右对齐)三种方式

停止 DAC 的 DMA 方式函数,其声明如下:

HAL_StatusTypeDef HAL_DAC_Stop_DMA(DAC_HandleTypeDef *hdac, uint32_t Channel);

配置主模式下的定时器触发输出选择函数,其声明如下:

HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(

TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef *sMasterConfig);

接收端,无线接收

uint8_t received_data;

void NRF24L01_Receive(void)

{

    if (NRF24L01_RxPacket(&received_data) == 0)

    {

        // 接收成功,对received_data进行处理

    }

}

解调与解码

uint16_t ASK_Demodulate(uint8_t data)

{

    // ASK解调,将接收到的数据转换为数字音频信号形式

return (data == 0)? 0 : 1000; // 这里假设0对应0,1对应1000,实际需根据编码情况调整

}

DAC 配置与音频输出

DAC_HandleTypeDef hdac;

void DAC_Init(void)

{

    hdac.Instance = DAC;

    hdac.Init.OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;

    HAL_DAC_Init(&hdac);

    // 配置DAC通道

    DAC_ChannelConfTypeDef sConfig;

    sConfig.DAC_Channel = DAC_CHANNEL_1;

    sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;

    HAL_DAC_ConfigChannel(&hdac, &sConfig);

}

int main(void)

{

    // 初始化nRF24L01、DAC等

    NRF24L01_Init();

    DAC_Init();

    while (1)

    {

        // 接收无线数据

        NRF24L01_Receive();

        // 对接收数据进行ASK解调

        uint16_t demodulated_data = ASK_Demodulate(received_data);

        // 通过DAC输出模拟音频信号

        HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, demodulated_data);

    }

}

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

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

相关文章

【音视频】RTSP拉流: RTP负载AAC详解(三)

此文为系列文章&#xff0c;此系列主要讲解RTSP客户端的拉流及播放&#xff0c;文章持续更新&#xff0c;会从rtsp的基本协议讲起&#xff0c;如何一步步实现音视频的拉流过程&#xff0c;包括一系列涉及到的协议&#xff0c;rtsp&#xff0c;sdp&#xff0c; rtp&#xff08;本…

【ARM】JTAG接口介绍

1、 文档目标 对 JTAG 接口有更多的认识&#xff0c;在遇到关于 JTAG 接口问题时有一些排查的思路。 2、 问题场景 在使用调试器过程时&#xff0c;免不了要接触到 JTAG 接口&#xff0c;当出现连接不上时&#xff0c;就不知道从哪来进行排查。 3、软硬件环境 1 软件版本&am…

【电脑】u盘重装win7

u盘必须8GB以上 1. CPU型号 首先查看CPU的型号看看到底能不能装win7 2. 下载光盘映像文件 网址 看电脑是多少位的机器(32位下载x86 64位下载x64) 一共是这么多个版本按需下载对应的版本 电脑小白推荐无脑下载旗舰版 将链接复制到迅雷进行下载 3. 下载软碟通 网址 下…

C++-AVL树

一、AVL树的概念 1.二叉搜索树 二叉搜索树&#xff08;BST&#xff0c;Binary Search Tree&#xff09;&#xff0c;也称二叉排序树或二叉查找树。 二叉搜索树&#xff1a;一棵二叉树&#xff0c;可以为空&#xff1b;如果不为空&#xff0c;满足以下性质&#xff1a; 非空左子…

w208基于spring boot物流管理系统设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-22- 操作鼠标拖拽 - 下篇(详细教程)

1.简介 上一篇中&#xff0c;宏哥说的宏哥在最后提到网站的反爬虫机制&#xff0c;那么宏哥在自己本地做一个网页&#xff0c;没有那个反爬虫的机制&#xff0c;谷歌浏览器是不是就可以验证成功了&#xff0c;宏哥就想验证一下自己想法&#xff0c;其次有人私信宏哥说是有那种…

神经网络常见激活函数 8-SELU函数

SELU 缩放指数线性单元&#xff1a;SELU&#xff08;Scaled Exponential Linear Unit&#xff09; 函数导函数 SELU函数 S E L U ( x ) { λ x x > 0 λ α ( e x − 1 ) x ≤ 0 \rm SELU(x) \left\{ \begin{array}{} \lambda x \quad & x > 0 \\ \lambda \alph…

达梦:AWR 生成

目录标题 AWR 性能诊断与报告生成1. 检查 AWR 系统状态2. 查看数据库中的所有表空间3. 查看现有的 AWR 快照4. 设置 AWR 快照的时间间隔5. 创建 AWR 快照6. 查看最新的 AWR 快照7. 生成 AWR HTML 报告8. 将 AWR 报告保存到指定文件链接总结 自动工作集负载信息库 AWR 报告解析指…

【Map vs Set】:Java数据存储的“双子星”对决

个人主页&#xff1a;♡喜欢做梦 欢迎 &#x1f44d;点赞 ➕关注 ❤️收藏 &#x1f4ac;评论 目录 &#x1f370;一、搜索 &#x1f36e;1.概念 &#x1f36e;2.模型 &#x1f370;二、Map &#x1f368;1.什么是Map&#xff1f; &#x1f368;2.Map的实例化 &…

【C语言 】C语言 桌游开发数字竞拍(源码)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;专__注&#x1f448;&#xff1a;专注主流机器人、人工智能等相关领域的开发、测试技术。 【C语言 】C语言 桌游开发数字竞拍&#xff08;源码…

Reinforcement Learning Heats Up 强化学习持续升温

Reinforcement Learning Heats Up 强化学习持续升温 核心观点&#xff1a;强化学习正成为构建具有高级推理能力大语言模型&#xff08;LLMs&#xff09;的重要途径。 最新进展 模型示例&#xff1a;近期出现了如DeepSeek - R1及其变体&#xff08;DeepSeek - R1 - Zero&#xf…

Whisper+T5-translate实现python实时语音翻译

1.首先下载模型&#xff0c;加载模型 import torch import numpy as np import webrtcvad import pyaudio import queue import threading from datetime import datetime from faster_whisper import WhisperModel from transformers import AutoTokenizer, AutoModelForSeq2…

湖仓分析|浙江霖梓基于 Doris + Paimon 打造实时/离线一体化湖仓架构

导读&#xff1a;浙江霖梓早期使用 CDH 产品套件搭建了大数据系统&#xff0c;面临业务逻辑冗余、查询效率低下等问题&#xff0c;基于 Apache Doris 进行整体架构与表结构的重构&#xff0c;并基于湖仓一体和查询加速展开深度探索与实践&#xff0c;打造了 Doris Paimon 的实…

Jmeter压测怎么控制TPS

压测固定TPS的接口 有些任务需要我们控制接口的TPS&#xff0c;例如每秒请求一次。 TPS定时器 然后1个并发持续运行 压测结果 需要注意TPS在1.0/s左右&#xff0c;有时可能是1.2、1.3&#xff0c;定时器会自动调整压力&#xff0c;让TPS保持在1.0左右。

信呼OA办公系统sql注入漏洞分析

漏洞描述 信呼OA办公系统uploadAction存在SQL注入漏洞&#xff0c;攻击者可利用该漏洞获取数据库敏感信息。 环境搭建 源码下载地址&#xff1a;https://github.com/rainrocka/xinhu 下载后解压到本地网站根目录下&#xff0c;配置好数据库&#xff0c;然后安装即可 默认密…

一文深入了解DeepSeek-R1:模型架构

本文深入探讨了 DeepSeek-R1 模型架构。让我们从输入到输出追踪 DeepSeek-R1 模型&#xff0c;以找到架构中的新发展和关键部分。DeepSeek-R1 基于 DeepSeek-V3-Base 模型架构。本文旨在涵盖其设计的所有重要方面。 &#x1f4dd; 1. 输入上下文长度 DeepSeek-R1的输入上下文长…

算法兵法全略(译文)

目录 始计篇 谋攻篇 军形篇 兵势篇 虚实篇 军争篇 九变篇 行军篇 地形篇 九地篇 火攻篇 用间篇 始计篇 算法&#xff0c;在当今时代&#xff0c;犹如国家关键的战略武器&#xff0c;也是处理各类事务的核心枢纽。算法的世界神秘且变化万千&#xff0c;不够贤能聪慧…

开关电源实战(一)宽范围DC降压模块MP4560

系列文章目录 文章目录 系列文章目录MP4560MP4560 3.8V 至 55V 的宽输入范围可满足各种降压应用 MOSFET只有250mΩ 输出可调0.8V-52V SW:需要低VF肖特基二极管接地,而且要靠近引脚,高压侧开关的输出。 EN:输入使能,拉低到阈值以下关闭芯片,拉高或浮空启动 COMP:Compens…

微软AutoGen高级功能——Magentic-One

介绍 大家好&#xff0c;博主又来给大家分享知识了&#xff0c;这次给大家分享的内容是微软AutoGen框架的高级功能Magentic-One。那么它是用来做什么的或它又是什么功能呢&#xff0c;我们直接进入正题。 Magentic-One Magnetic-One是一个通用型多智能体系统&#xff0c;用于…

DeepSeek是如何通过“蒸馏”技术打造自己的AI模型

1 引言&#xff1a; 最近&#xff0c;外媒对中国公司——DeepSeek进行了猛烈抨击&#xff0c;指控其采用了所谓的“蒸馏”&#xff08;Distillation&#xff09;技术&#xff0c;涉嫌抄袭甚至作弊。那么&#xff0c;什么是“蒸馏”技术&#xff1f; 在人工智能领域&#xff0c;…