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

AD7606使用方法

AD7606是一款8通道最高16位200ksps的AD采样芯片。5V单模拟电源供电,真双极性模拟输入可以选择±10 V,±5 V两种量程。支持串口与并口两种读取方式。

硬件连接方式:

配置引脚

引脚功能

详细说明

OS2 OS1 OS2

过采样率配置

000 1倍过采样率     200K

011 2^3 8倍过采样率 200K/8=25K

RANGE

模拟信号量程配置

0表示正负5V, 1表示正负10V

STBY

待机省电

0有效可开启省电或关断,需配合RANGE脚, RANGE=1 待机 RANGE=0 关断

RESET

复位信号

典型值高脉冲50ns,上电后需给出,给出后转换中断,输出寄存器清零

CONVSTA

前半通道转换开始信号

控制前一半通道V1-V4,过采样末开启时启作用

CONVSTB

后半通道转换开始信号

控制后一半通道V5-V8。CONVSTA,CONVSTB可以并联使用

PAR/SER/BYTE SEL

并行/串行/字节选择

0 并行 。1串行(DB15=0)或字节 (DB15=1)

串行时RD/CLK 作为时钟输入 DB7,DB8作串行输出

字节模式下DB14=1 先高8位后低8位,0时相反

串行或字节模式下不用数字接口需要接地

RD/SCLK

读取/时钟

并行模式:RD输入,RD=0 CS=0时开启输出总线

串行模式:CLK时钟输入

CS

片选位

低电平有效

REF SELECT

外部/内部基准选择

0:外部基准 REF需要输入2.5V

1:内部基准 REF端可提供2.5V基准。

BUSY

忙信号

转换开始变高,转换完成变低。一般用下降沿来读数

FRSTDATA

首数据输出

首数据时为高,首数据结束时为低,初始为高阻态

并口读取STM32F407硬件连接

程序代码:

#ifdef AD7606_C
#define AD7606_PRE
#else
#define AD7606_PRE extern
#endif
#include "sys.h"#define AD7606_Data_CLK RCC_AHB1Periph_GPIOE
#define AD7606_Data_PORT GPIOE
#define AD7606_Data_PIN GPIO_Pin_All#define AD7606_OS0_CLK RCC_AHB1Periph_GPIOC
#define AD7606_OS0_PORT GPIOC
#define AD7606_OS0_PIN GPIO_Pin_13#define AD7606_OS1_CLK RCC_AHB1Periph_GPIOC
#define AD7606_OS1_PORT GPIOC
#define AD7606_OS1_PIN GPIO_Pin_14#define AD7606_OS2_CLK RCC_AHB1Periph_GPIOC
#define AD7606_OS2_PORT GPIOC
#define AD7606_OS2_PIN GPIO_Pin_15#define AD7606_RANGE_CLK RCC_AHB1Periph_GPIOC
#define AD7606_RANGE_PORT GPIOC
#define AD7606_RANGE_PIN GPIO_Pin_10#define AD7606_CONVSTA_CLK RCC_AHB1Periph_GPIOC
#define AD7606_CONVSTA_PORT GPIOC
#define AD7606_CONVSTA_PIN GPIO_Pin_9#define AD7606_CONVSTB_CLK RCC_AHB1Periph_GPIOC
#define AD7606_CONVSTB_PORT GPIOC
#define AD7606_CONVSTB_PIN GPIO_Pin_8#define AD7606_RESET_CLK RCC_AHB1Periph_GPIOC
#define AD7606_RESET_PORT GPIOC
#define AD7606_RESET_PIN GPIO_Pin_7#define AD7606_RD_CLK RCC_AHB1Periph_GPIOC
#define AD7606_RD_PORT GPIOC
#define AD7606_RD_PIN GPIO_Pin_6#define AD7606_CS_CLK RCC_AHB1Periph_GPIOC
#define AD7606_CS_PORT GPIOC
#define AD7606_CS_PIN GPIO_Pin_2#define AD7606_BUSY_CLK RCC_AHB1Periph_GPIOC
#define AD7606_BUSY_PORT GPIOC
#define AD7606_BUSY_PIN GPIO_Pin_11#define AD7606_FRSTDATA_CLK RCC_AHB1Periph_GPIOC
#define AD7606_FRSTDATA_PORT GPIOC
#define AD7606_FRSTDATA_PIN GPIO_Pin_12#define AD7606_RESET_H() GPIO_SetBits(AD7606_RESET_PORT, AD7606_RESET_PIN)
#define AD7606_RESET_L() GPIO_ResetBits(AD7606_RESET_PORT, AD7606_RESET_PIN)#define AD7606_CS_H() GPIO_SetBits(AD7606_CS_PORT, AD7606_CS_PIN)
#define AD7606_CS_L() GPIO_ResetBits(AD7606_CS_PORT, AD7606_CS_PIN)#define AD7606_RD_H() GPIO_SetBits(AD7606_RD_PORT, AD7606_RD_PIN)
#define AD7606_RD_L() GPIO_ResetBits(AD7606_RD_PORT, AD7606_RD_PIN)#define AD7606_RANGE_H() GPIO_SetBits(AD7606_RANGE_PORT, AD7606_RANGE_PIN)
#define AD7606_RANGE_L() GPIO_ResetBits(AD7606_RANGE_PORT, AD7606_RANGE_PIN)#define AD7606_OS2_H() GPIO_SetBits(AD7606_OS2_PORT, AD7606_OS2_PIN)
#define AD7606_OS2_L() GPIO_ResetBits(AD7606_OS2_PORT, AD7606_OS2_PIN)#define AD7606_OS1_H() GPIO_SetBits(AD7606_OS1_PORT, AD7606_OS1_PIN)
#define AD7606_OS1_L() GPIO_ResetBits(AD7606_OS1_PORT, AD7606_OS1_PIN)#define AD7606_OS0_H() GPIO_SetBits(AD7606_OS0_PORT, AD7606_OS0_PIN)
#define AD7606_OS0_L() GPIO_ResetBits(AD7606_OS0_PORT, AD7606_OS0_PIN)#define READ_AD7606_CS() GPIO_ReadInputDataBit(AD7606_CS_PORT, AD7606_CS_PIN)
#define READ_AD7606_FRSTDATA() GPIO_ReadInputDataBit(AD7606_FRSTDATA_PORT, AD7606_FRSTDATA_PIN)#define READ_AD7606_DATA() GPIO_ReadInputData(AD7606_Data_PORT)#define AD7606_OS0 PCout(13)
#define AD7606_OS1 PCout(14)
#define AD7606_OS2 PCout(15)
#define AD7606_RANGE PCout(10)
AD7606_PRE s16 ADCData[512][8];
AD7606_PRE u16 ADCCnt;
// AD7606_PRE struct ADCStrc AD7606_ADC;
AD7606_PRE void ReadAD7606(void);
AD7606_PRE void AD7606Init(void);
AD7606_PRE void ReadAD7606(void);
AD7606_PRE void InitAD7606_Port(void);
AD7606_PRE void AD7606ChipCfg(void);
AD7606_PRE void AD7606ChipReset(void);

#define AD7606_C
#include "main.h"// struct ADCStrc AD7606_ADC;//**************************************************
void AD7606Init(void)
{InitAD7606_Port();AD7606ChipCfg();AD7606ChipReset();ADCCnt = 0;
}//**********************************************************************************
void InitAD7606_Port(void)
{GPIO_InitTypeDef GPIO_InitStructure;EXTI_InitTypeDef EXTI_InitStructure;RCC_AHB1PeriphClockCmd(AD7606_OS0_CLK | AD7606_Data_CLK, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);GPIO_InitStructure.GPIO_Pin = AD7606_Data_PIN;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(AD7606_Data_PORT, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_InitStructure.GPIO_Pin = AD7606_OS0_PIN | AD7606_OS1_PIN | AD7606_OS2_PIN | AD7606_RANGE_PIN | AD7606_CONVSTA_PIN | AD7606_CONVSTB_PIN;GPIO_Init(AD7606_OS0_PORT, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = AD7606_RESET_PIN | AD7606_RD_PIN | AD7606_CS_PIN;GPIO_Init(AD7606_RESET_PORT, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = AD7606_CONVSTA_PIN | AD7606_CONVSTB_PIN;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(AD7606_CONVSTB_PORT, &GPIO_InitStructure);GPIO_PinAFConfig(AD7606_CONVSTB_PORT, GPIO_PinSource8, GPIO_AF_TIM3);GPIO_PinAFConfig(AD7606_CONVSTA_PORT, GPIO_PinSource9, GPIO_AF_TIM3);GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_InitStructure.GPIO_Pin = AD7606_BUSY_PIN | AD7606_FRSTDATA_PIN;GPIO_Init(AD7606_BUSY_PORT, &GPIO_InitStructure);SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource11);EXTI_InitStructure.EXTI_Line = EXTI_Line11;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);
}//***************************************
// 配置7606
void AD7606ChipCfg(void)
{AD7606_OS2_L();AD7606_OS1_L();AD7606_OS0_H();   // 001 两倍过采样率 最大64倍过采样率AD7606_RANGE_L(); // L为5V,H为10VAD7606_CS_L();    // 片选有效AD7606_RD_H();    // 读取拉低 并行模式
}//***************************************
// 复位7606
void AD7606ChipReset(void)
{AD7606_RESET_H();__NOP();__NOP();AD7606_RESET_L();__NOP();__NOP();
}//***************************************
// 读数据0~7,0:CI,1:BI,2:CI,3:NC,4:CU,5:BU,6:AU,7:NC
void ReadAD7606(void)
{u8 i;AD7606_RD_H();__NOP();AD7606_CS_L();__NOP();for (i = 0; i < 8; i++){AD7606_RD_L();__NOP();if (READ_AD7606_FRSTDATA())i = 0; // 如果7606的第一个数据线为高ADCData[ADCCnt][i] = READ_AD7606_DATA();AD7606_RD_H();__NOP();}ADCCnt++;if (ADCCnt >= 512)ADCCnt = 0;AD7606_CS_H();
}void EXTI15_10_IRQHandler(void)
{if ((EXTI->PR & EXTI_Line11) != 0) //{EXTI->PR = EXTI_Line11;ReadAD7606();}
}

相关文章:

AD7606使用方法

AD7606是一款8通道最高16位200ksps的AD采样芯片。5V单模拟电源供电&#xff0c;真双极性模拟输入可以选择10 V&#xff0c;5 V两种量程。支持串口与并口两种读取方式。 硬件连接方式&#xff1a; 配置引脚 引脚功能 详细说明 OS2 OS1 OS2 过采样率配置 000 1倍过采样率 …...

双向长短期记忆(Bi-LSTM)神经网络介绍

长短期记忆(Long Short-Term Memory, LSTM)神经网络&#xff1a; 1.是Hochreiter和Schmidhuber设计的循环神经网络(Recurrent Neural Network, RNN)的改进版本。LSTM模型借鉴了人类大脑的选择性输入和选择性遗忘机制&#xff0c;获取序列中的关键信息&#xff0c;遗忘和当前预测…...

openGauss开源数据库实战十八

文章目录 任务十八 openGauss逻辑结构:构:用户和权眼管理任务目标实施步骤一、准备工作二、用户和角色管理1.使用CREATE USER语句创建用户2.使用CREATE ROLE语句创建用户3.删除用户和角色 三、权限管理1.系统权限清理工作 任务十八 openGauss逻辑结构:构:用户和权眼管理 任务目…...

JVM 性能调优 -- JVM 调优常用网站

前言&#xff1a; 上一篇分享了 JDK 自带的常用的 JVM 调优命令和图形化界面工具&#xff0c;本篇我们分享一下常用的第三方辅助 JVM 调优网站。 JVM 系列文章传送门 初识 JVM&#xff08;Java 虚拟机&#xff09; 深入理解 JVM&#xff08;Java 虚拟机&#xff09; 一文搞…...

现在的电商风口已经很明显了

随着电商行业的不断发展&#xff0c;直播带货的热潮似乎正逐渐降温&#xff0c;而货架电商正成为新的焦点。抖音等平台越来越重视货架电商&#xff0c;强调搜索功能的重要性&#xff0c;预示着未来的电商中心将转向货架和搜索。 在这一转型期&#xff0c;AI技术与电商的结合为…...

基于AT89C52单片机的电子时钟与温湿度检测系统

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

Wwise SoundBanks内存优化

1.更换音频格式为Vorbis 2.停用多余的音频&#xff0c;如Random Container的随机脚步声数量降为2个 3.背景音乐勾选“Stream”。这样就让音频从硬盘流送到Wwise&#xff0c;而不是保存在内存当中&#xff0c;也就节省了内存 4.设置最大发声数Max Voice Instances 5.设置音频…...

Next.js 独立开发教程(十三):错误处理(Error Handling)

系列文章目录 Next.js 开发教程(一)&#xff1a;入门指南-CSDN博客 Next.js 开发教程&#xff08;二&#xff09;&#xff1a;从零构建仪表盘应用-CSDN博客 Next.js 开发教程&#xff08;三&#xff09;&#xff1a;CSS 样式的完整指南-CSDN博客 Next.js 独立开发教程&…...

【Halcon】边缘检测算子汇总(一)

frei_amp 功能:使用Frei-Chen算法检测图像的边缘振幅。 参数: 输入图像(Image):待处理的原始图像。输出梯度图像(ImageEdgeAmp):经过Frei-Chen算法处理后的边缘振幅图像。工作原理:frei_amp算子通过计算图像一阶导数的近似值来检测边缘。它使用两个特定的滤波器掩模(…...

前端开发中Token存储:选择Cookie还是localStorage?

在现代前端开发领域,用户身份验证与状态管理不可或缺,而 token 作为身份验证机制的核心要素,对保障用户信息安全至关重要。然而,token 的存储方式对应用安全性和用户体验有着直接影响。本文将从安全性、便捷性和使用场景等维度,深度剖析在 Cookie 和 localStorage 中选择存…...

Scala中的正则表达式01

规则类型具体规则示例说明单字符大多数字符匹配自身正则表达式 abc&#xff0c;文本 abca 匹配 a&#xff0c;b 匹配 b&#xff0c;c 匹配 c方括号 [ ][ ] 定义字符集&#xff0c;匹配其一[abc]&#xff0c;文本 a、b 或 c[abc] 匹配 a、b 或者 c排除字符集 [^ ][^ ] 开头加 ^&…...

机器学习——决策树模型

决策树是如何工作的&#xff1f; 假设你在经营一家猫收养中心&#xff0c;并提供了一些功能&#xff0c;你想训练一个分类器来快速告诉你&#xff0c;动物到底是不是猫&#xff0c;这里有10个训练例子&#xff0c;并与这10个例子中的每一个相关联&#xff0c;我们将有关于动物…...

#3003. Jed‘s MEX

刚开始直接硬来&#xff0c;要么TLE要么WA 后面改成另一种思路&#xff1a; 先把ai大于n的全都转换为刚好小于n的数&#xff0c;记录在cnt[i]中&#xff0c;代表ai有多少个 然后从高往低走&#xff0c;把cnt大于1的分到下面去&#xff0c;使数尽可能分布得广一些 然后从低往…...

数据集增强:提升深度学习模型泛化能力的关键技术

在深度学习中&#xff0c;数据是模型性能的基石。大规模、高质量的数据集通常能显著提高模型的泛化能力&#xff0c;帮助模型在真实场景中做出更准确的预测。然而&#xff0c;在很多实际应用中&#xff0c;数据收集困难、昂贵或者受限&#xff0c;尤其是当数据集相对较小或标注…...

JS实现高效导航——A*寻路算法+导航图简化法

一、如何实现两点间路径导航 导航实现的通用步骤&#xff0c;一般是&#xff1a; 1、网格划分 将地图划分为网格&#xff0c;即例如地图是一张图片&#xff0c;其像素为1000*1000&#xff0c;那我们将此图片划分为各个10*10的网格&#xff0c;从而提高寻路算法的计算量。 2、标…...

在wordpress添加自定义文章类型

实现思路 在Once主题中&#xff0c;有文章&#xff0c;页面等编辑的文案类型&#xff0c;文章类型主要做文案输出&#xff0c;而页面类型主要做一些界面菜单的操作。参考文章类型&#xff0c;使用自定义页面模板&#xff0c;实现一个自定义文章类型&#xff0c;例如**笔记(nod…...

[node.js] [HTTP/S] 实现 requests 发起 HTTP/S/1.1/2.0 请求

node.js 使用 V8 引擎来编译运行 javascript 代码&#xff0c;与浏览器中的环境不同的是&#xff0c;node.js 不包含 DOM 和 BOM 模块。 本文使用 node.js 的官方库来实现一个简单的 requests() 函数&#xff0c;可以用来发送 HTTP/1.1 和 HTTP/2.0 的请求。有关 HTTP/1.1 和 …...

基于Java Springboot线上约拍摄影预约微信小程序

一、作品包含 源码数据库全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui uniapp 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信开发者工…...

node.js基础学习-cheerio模块-简单小爬虫(五)

学习cheerio模块&#xff0c;简单做一个爬取图片网站的图片&#xff0c;并且将这些图片下载到本地指定的文件夹下&#xff0c;很多图片网站都有一些反爬取的机制&#xff0c;找的好几个都会报302错误&#xff0c;所以我找了一个小的图片网站&#xff0c;这个没有反爬取机制&…...

吾杯网络安全技能大赛WP(部分)

吾杯网络安全技能大赛WP(部分) MISC Sign 直接16进制解码即可 原神启动 将图片用StegSolve打开 找到了压缩包密码 将解出docx文件改为zip 找到了一张图片和zip 再把图片放到stegSlove里找到了img压缩包的密码 然后在document.xml里找到了text.zip压缩包密码 然后就出来fl…...

【python自动化一】pytest的基础使用

1.pytest简述 pytest‌ 是一个功能强大且灵活的Python测试框架&#xff0c;其主要是用于流程控制&#xff0c;具体用于UI还是接口自动化根据个人需要而定。且其具有丰富插件&#xff0c;使用时较为方便。咱们具体看下方的内容&#xff0c;本文按照使用场景展开&#xff0c;不完…...

使用 CFD 仿真进行阀门性能分析:第 II 部分

了解如何使用 Ansys Discovery 通过优化模式获得准确的阀门性能结果。 第 II 部分&#xff1a;优化模式下的模拟 阀门的模拟可以在 Explore &#xff08;探索&#xff09; 模式和 Refine &#xff08;优化&#xff09; 模式下执行。Explore 模式允许快速仿真&#xff0c;在长达…...

Node.js实现WebSocket教程

Node.js实现WebSocket教程 1. WebSocket简介 WebSocket是一种在单个TCP连接上提供全双工通信的协议&#xff0c;允许服务器和客户端之间进行实时、双向通信。本教程将详细讲解如何在Node.js中实现WebSocket。 2. 技术选型 我们将使用ws库来实现WebSocket服务器&#xff0c;…...

使用 Statsmodels 进行统计建模与分析

使用 Statsmodels 进行统计建模与分析 Statsmodels 是 Python 中一个功能强大的库&#xff0c;用于执行统计建模和计量经济学分析。它提供了一系列经典的统计模型和评估方法&#xff0c;涵盖线性回归、时间序列分析和广义线性模型等。 本文将带你深入了解 Statsmodels 的功能…...

【Linux】进程间通信

目录 一、管道 &#xff08;一&#xff09;概念 &#xff08;二&#xff09;匿名管道 1、概念 2、函数介绍 3、示例代码 4、原理 &#xff08;三&#xff09;命名管道 1、概念 2、函数介绍 3、示例代码 4、原理 &#xff08;四&#xff09;管道的读写规则 &#x…...

Python 网络爬虫高级教程:分布式爬取与大规模数据处理

经过基础爬虫和进阶爬虫的学习&#xff0c;我们已经掌握了爬虫的基本原理、动态内容处理及反爬机制的应对。然而&#xff0c;当我们面对海量数据或需要高效爬取多个站点时&#xff0c;分布式爬虫和数据存储、处理能力就显得尤为重要。本篇博客将带你迈向网络爬虫的高级阶段&…...

猫爪背后的情感密码

当家中那只可爱的猫咪时不时用它的小爪子轻拍我们时&#xff0c;很多人或许只当作是调皮捣蛋&#xff0c;实则背后大有深意。 猫用爪子打&#xff0c;可能是在向我们发出玩耍的邀约。在猫咪的天性里&#xff0c;捕猎本能根深蒂固。它们在幼年时与同伴的嬉戏打闹&#xff0c;便…...

【自用】管材流转项目前端重部署流程 vue2 webpackage4 vuecli4

一、配置 1.下载项目&#xff0c;使用 IDEA 打开&#xff0c;并配置 Nodejs 它提示我&#xff0c;需要 Node.js&#xff0c;因为 nodejs 14 的 installer 已经官网已经找不到了&#xff0c;使用 fnm 又太麻烦&#xff0c; 所以直接采用在 IDEA 中下载的方式就好了。 2.清除缓…...

关于c的子进程 fork()

fork() 是一个非常重要的系统调用&#xff0c;用于在 Unix-like 操作系统中创建一个新的进程。它会将当前进程&#xff08;父进程&#xff09;复制成一个新的进程&#xff08;子进程&#xff09;。子进程会从父进程的代码处继续执行&#xff0c;但具有不同的进程 ID。 fork() …...

耀圣控制设备有限公司:优质压滤机阀门的引领者

耀圣控制设备有限公司&#xff1a;优质压滤机阀门的引领者 在压滤机阀门领域&#xff0c;耀圣控制设备有限公司以其卓越的品质和领先的技术&#xff0c;成为了行业内备受瞩目的品牌。 耀圣控制设备有限公司专注于压滤机阀门的研发与生产&#xff0c;凭借着先进的工艺和严格的质…...

【C语言】结构体(四)

本篇重点是typedef关键字 一&#xff0c;是什么&#xff1f; typedef用来定义新的数据类型&#xff0c;通常typedef与结构体的定义配合使用。 简单来说就是取别名 ▶ struct 是用来定义新的数据类型——结构体 ▶ typedef是给数据类型取别名。 二&#xff0c;为什么&#xf…...

面向源代码的软件可信度量模型 T_{na}

面向源代码的软件可信度量模型 T n a T_{na} Tna​ 课程&#xff1a;软件质量分析 作业 可编写下面的java程序&#xff1a; package org.example;public class SourceCodeOrientedModel {public static void main(String[] args) {int total 41;int[] m {9, 22, 9, 5, 7, 1…...

Java11使用JVM同一日志框架启用日志记录

你可以使用-Xlog选项配置或启用Java虚拟机同一日志框架的日志记录。 -Xlog:gc*trace:file/Users/xx/gc-%t.log:time,tags,level,pid,tid,hostname,path:filecount3,filesize10K -Xlog:gc*trace:stdout:time,tags,level,pid,tid,hostname:filecount3,filesize10K -Xlog:gc*trac…...

k8s容器存储接口 CSI 相关知识

容器存储接口 CSI 相关知识 参考&#xff1a; https://blog.csdn.net/lovely_nn/article/details/122880876 https://developer.aliyun.com/article/783464 https://www.cnblogs.com/varden/p/15139819.html存储商需实现 CSI 插件的 NodeGetVolumeStats 接口&#xff0c;Kube…...

JDBC相关

请解释一下 JDBC 是什么&#xff1f; JDBC&#xff08;Java Database Connectivity&#xff09;是 Java 语言访问数据库的标准 API。它提供了一套统一的接口&#xff0c;使得 Java 程序能够与各种不同的数据库进行交互。 请说明一下 JDBC 连接池的使用方法和优势。 使用方法…...

Github提交Pull Request教程 Git基础扫盲(零基础易懂)

1 PR是什么&#xff1f; PR&#xff0c;全称Pull Request&#xff08;拉取请求&#xff09;&#xff0c;是一种非常重要的协作机制&#xff0c;它是 Git 和 GitHub 等代码托管平台中常见的功能&#xff0c;被广泛用于参与社区贡献&#xff0c;从而促进项目的发展。 PR的整个过…...

【计算机网络】实验7:默认路由和特定主机路由以及路由环路问题

实验 7&#xff1a;默认路由和特定主机路由以及路由环路问题 一、 实验目的 了解默认路由以及特定主机路由。 了解静态路由配置错误导致的路由环路问题。 二、 实验环境 • Cisco Packet Tracer 模拟器 三、 实验内容 1、默认路由以及特定主机路由 (1) 第一步&#xff…...

RK3506 PINCTRL学习

引脚命名规则 Rockchip Pin 的 ID 按照 控制器 (bank) 端口 (port) 索引序号 (pin) 组成。 GPIO&#xff08;通⽤输⼊输出&#xff09; 控制器和GPIO控制器数量一致&#xff1b;端口固定A/B/C/D索引序号固定为0/1/2/3/4/5/6/7 每个控制器可以控制32个IO&#xff0c;作为GPIO功…...

NS4828 0.8A 线性同步移动电源管理芯片

1 特性 ● 内置固定 0.8A 的线性充电模式 ● 涓流/恒流/恒压三段式充电&#xff0c;支持 0V 电池充电 ● 充电输入端有防反灌功能&#xff0c;不需要防反灌二极管 ● 0.8A同步升压转换器 ● 同步放电固定 5.1V 输出 ● 双灯充放电 LED 灯指示 ● 支持自动负载检测 ● 双灯充电与…...

重生之学C++篇—算术操作符

一、算术操作符 在写代码的时候&#xff0c;一定会涉及到计算。为了方便运算&#xff0c;C提供了一系列的操作符&#xff0c;其中有一组操作符叫做算术操作符。分别是&#xff1a; 、 - 、 * 、 / 、 %&#xff0c;这些操作符都是双目操作符&#xff08;有两个操作数&#xff…...

人机交互革命,为智能座舱市场激战注入一针「催化剂」

从AIGC到AGI赋能&#xff0c;智能座舱人机交互体验迎来新范式。 不断训练、迭代的大模型&#xff0c;为智能座舱带来了更全面的感知能力、更准确的认知理解&#xff0c;以及更丰富的交互模态&#xff0c;显著提升了其智能化水平。 “AI大模型的快速应用与迭代&#xff0c;推动…...

《只狼》运行时提示“mfc140u.dll文件缺失”是什么原因?“找不到mfc140u.dll文件”要怎么解决?教你几招轻松搞定

《只狼》运行时提示“mfc140u.dll文件缺失”的科普与解决方案 作为一名软件开发从业者&#xff0c;在游戏开发和维护过程中&#xff0c;我们经常会遇到各种运行时错误和系统报错。今天&#xff0c;我们就来探讨一下《只狼》这款游戏在运行时提示“mfc140u.dll文件缺失”的原因…...

VTK中矩阵vtkMatrix4x4类的介绍和使用

1、矩阵-齐次坐标介绍 常见的点一般是Pt&#xff08;X,Y,Z&#xff09;&#xff0c;相当于一个13矩阵&#xff0c;而矩阵相乘的话一般是第一个矩阵的列数要等于第二个矩阵的行数。此处需要引入齐次坐标的概念&#xff1a;从广义上讲&#xff0c;齐次坐标就是用n1维向量表示n 维…...

STM32的OTA

STM32的OTA&#xff08;Over-The-Air&#xff09;是一种通过无线通信方式&#xff0c;为设备分发新软件、配置甚至更新加密密钥的技术。以下是对STM32 OTA的详细介绍&#xff1a; 一、OTA升级概述 OTA升级允许中心位置向所有用户发送更新&#xff0c;确保每个接收者都无法拒绝…...

【超图】iClient3D for Cesium 以动静结合方式加载WMTS服务

作者&#xff1a;taco 一、问题来源 在最近支持的项目中&#xff0c;我们面临一个挑战&#xff1a;客户需要在前端动态加载高达3亿级别的白模底面数据。这样做的主要原因是客户的数据库会频繁更新&#xff0c;因此我们需要采用动态加载的方式来确保用户界面能够实时反映最新的…...

2.STM32通信接口之SPI通信---SPI实战《精讲》

SPI仅支持一主多从&#xff08;无应答机制&#xff09; 参照&#xff1a;《第十一部分》1.STM32通信接口之SPI通信---SPI介绍《精讲》-CSDN博客 在采用一主多从的模式下。从机未被选中&#xff0c;SN1时&#xff0c;从机的MISO会处于高阻态状态&#xff0c;SN0时&#xff0c;M…...

WangEditor — 一个轻量级富文本编辑器

官网&#xff1a;https://www.wangeditor.com/ 介绍 在现代 Web 开发中&#xff0c;富文本编辑器是一个常见的工具&#xff0c;它允许用户输入、编辑和格式化内容。在众多富文本编辑器中&#xff0c;WangEditor 是一个轻量级、高效且易于使用的选择。它支持 HTML 格式的内容编…...

Redis 之持久化

目录 介绍 RDB RDB生成方式 自动触发 手动触发 AOF&#xff08;append-only file&#xff09; Redis 4.0 混合持久化 Redis主从工作原理 总结 介绍 Redis提供了两个持久化数据的能力&#xff0c;RDB Snapshot 和 AOF&#xff08;Append Only FIle&#xff09;…...

Scala的模式匹配

package hfdobject Test34 {def main(args: Array[String]): Unit {//身份证val id "429005202023210042"// val id "319005202023210042"// val id "119005202023210042"//val id "339005202023210042"//截取前两位val pre id.sub…...

学习笔记052——Spring Boot 自定义 Starter

文章目录 Spring Boot 自定义 Starter1、自定义一个要装载的项目2、创建属性读取类 ServiceProperties3、创建 Service4、创建自动配置类 AutoConfigration5、创建 spring 工程文件6、将项目打成 jar 包7、jar 打包到本地仓库8、配置application.yml Spring Boot 自定义 Starte…...