课题学习(十四)----三轴加速度计+三轴陀螺仪传感器-ICM20602

   本篇博客对ICM20602芯片进行学习,目的是后续设计一个电路板,采集ICM20602的数据,通过这些数据对各种姿态解算的方法进行仿真学习。

一、 ICM20602介绍

1.1 初识芯片

   3轴陀螺仪:可编程全刻度范围(FSR)为±250 dps,±500 dps,±1000 dps和±2000 dps(dps:degrees per second,度/秒)。3轴加速度计:可编程全刻度范围(FSR)为±2g,±4g,±8g和±16g。这两个范围描述了传感器可以测量的最大范围,如果实际的角速度或者加速度超过这个范围,那么获得的数据就会失真或者不准确。
  下图是典型的电路连接图:
在这里插入图片描述
  下面是对16个引脚的介绍:
在这里插入图片描述
  此外,还需要注意三个轴的方向:
在这里插入图片描述
  该器件具有I2C和SPI串行接口,VDD工作范围为1.71V至3.45V,以及单独的数字IO电源,VDDIO工作范围为1.71V至3.45V。使用400 kHz的I2C或10 MHz的SPI与设备的所有寄存器进行通信。
  下面是陀螺仪的一些重要的数据:
在这里插入图片描述
   通过配置FS_SEL的值可以选择陀螺仪的测量范围,其中,LSB/(dps) 表示每秒度(degrees per second,dps)的最小位(Least Significant Bit)变化。这是用于描述陀螺仪的灵敏度或分辨率的一种方式。在数字传感器中,测量的物理量通常会被转换成数字信号,即由数字化的比特(bits)表示。最小有效位(LSB)是数字信号中最小的可分辨单位,它表示物理量的微小变化。对于陀螺仪而言,LSB/(dps) 描述了在角速度方面的分辨率。例如,如果一个陀螺仪的灵敏度为 0.1 LSB/(dps),那么它可以检测到每秒度的变化,并将这个变化表示为最小有效位的变化。 这个值越小,表示陀螺仪越能够检测到微小的角速度变化,具有更高的分辨率。分辨率对于一些应用,特别是需要高精度测量的领域,非常重要。
   下面是加速度计的一些重要的数据:在这里插入图片描述
  通过配置AFS_SEL的值可以选择加速度的测量范围。
   下面是芯片内部的框架图:
在这里插入图片描述

1.2 带有16位ADC和信号调理的三轴MEMS陀螺仪

   ICM-20602由三个独立的振动MEMS速率陀螺仪组成,分别检测X轴、Y轴和Z轴的旋转。当陀螺仪绕任一感测轴旋转时,会引起由电容拾音器检测到的振动。所得到的信号被放大、解调和滤波, 以产生与角速率成比例的电压。该电压使用单独的片上16位模数转换器(adc)对每个轴进行采样。陀螺仪传感器的满量程范围可以数字编程为±250,±500,±1000或±2000度每秒(dps)。ADC采样率可编程,从每秒8000个采样到每秒3.9个采样,用户可选择的低通滤波器可实现宽范围的截止频率。

1.3 带有16位ADC和信号调理的三轴MEMS加速度计

   ICM-20602的3轴加速度计沿某一特定轴方向的加速度在相应的证明质量上引起位移,电容式传感器对位移进行差分检测。当设备放置在平面上时,它将在X轴和y轴上测量0g,在z轴上测量+1g。加速度计的比例系数是在工厂校准的,与电源电压无关。每个传感器都有一个专用的sigma-delta ADC,用于提供数字输出。数字输出的满量程范围可调节为±2g,±4g,±8g或±16g。

1.4 SPI

   在以后的设计中,都会使用SPI来读取ICM20602的数据:
在这里插入图片描述

1.5 数字输出温度传感器

   采用片上温度传感器和ADC测量ICM-20602芯片温度。ADC的读数可以从FIFO或传感器数据寄存器读取。在读取这个温度之后,可以在后期研究温度对陀螺仪漂移中进行温度补偿。

1.6 工作模式

   下面是ICM20602各种模式下陀螺仪和加速度计的工作情况:
在这里插入图片描述

二、数字接口

在这里插入图片描述

2.1 SPI接口

   该芯片的SPI工作特点是数据先发送MSB,后发送LSB。
在这里插入图片描述
   SCLK在空闲时为高,在SCLK上升沿进行数据的采集SPC的最大频率为10MHz 5。SPI读写操作在16个或更多的时钟周期(两个或更多字节)完成。第一个字节包含SPI地址,接下来的字节包含SPI数据。第一个字节的第一位包含Read/Write位,表示Read(1)或Write(0)操作。下面的7位是要进行读写操作的寄存器地址或者数据。
在这里插入图片描述

2.2 寄存器

   下面详细看寄存器的说明:(说明一下,下文中寄存器xx表示该寄存器的16进制地址,如寄存器04,表示该寄存器地址为0x04;此外,由于三轴的寄存器是一样的,只针对其中某一轴的寄存器说明)

2.2.1 寄存器 04 – 陀螺仪低噪声到低功耗偏移位移和陀螺仪偏移温度补偿(TC)寄存器:

在这里插入图片描述
  XG_OFFS_LP[5:0]:将陀螺仪输出的偏移位移从低噪声模式切换到低功耗模式存储,以在软件代码中实现修正的功能。使用二进制的补码数字编码,每个最小有效位表示 0.125 度每秒,范围从 +3.875 度每秒到 -4 度每秒。
   XG_OFFS_TC_H[9:8]:X轴陀螺仪10位偏移的第9位和第8位(采用二进制的补码表示)。

2.2.2 寄存器05 -陀螺仪低噪声到低功率偏移移位和陀螺仪偏移温度补偿(tc)寄存器

在这里插入图片描述
  XG_OFFS_TC_H[7:0]:X轴陀螺仪10位偏移的第0到第7位(采用二进制的补码表示)。
  寄存器04和寄存器05对应X的轴相关的寄存器,寄存器07、08 对应Y轴的寄存器,同理,0A、0B对应Z轴的寄存器。

2.2.3 寄存器0D~0F:加速度计自检寄存器

在这里插入图片描述
  XA_ST_DATA[7:0]:该寄存器中的值表示在制造测试期间生成的自检输出。此数值用于与用户端执行的后续自检输出进行比较,以进行检查。

2.2.4 寄存器13、14:x 轴陀螺偏移调整寄存器:高字节 (13)、低字节 (14)

在这里插入图片描述
在这里插入图片描述
   X_OFFS_USR[15:8]:X陀螺仪16位偏移量的第15位到第8位(2的补码)。这个寄存器用于消除传感器输出的直流偏置。这个寄存器中的值在进入传感器寄存器之前被添加到陀螺仪传感器值中。
   X_OFFS_USR[7:0]:X陀螺仪16位偏移量的第7位到第0位(2的补码)。这个寄存器用于消除传感器输出的直流偏置。这个寄存器中的值在进入传感器寄存器之前被添加到陀螺仪传感器值中

2.2.5 寄存器19:采样率分频器

在这里插入图片描述
   SMPLRT_DIV[7:0]:该寄存器用于将内部采样率(参见寄存器CONFIG)分频,生成控制传感器数据输出速率和FIFO采样率的采样率。注意:该寄存器仅在FCHOICE_B寄存器位为00(不懂为什么数据手册写2’b00,是二进制吗?),并且(0 < DLPF_CFG < 7)时有效。这是传感器寄存器的更新速率:
S A M P L E R A T E = I N T E R N A L S A M P L E R A T E / ( 1 + S M P L R T D I V ) SAMPLERATE = INTERNALSAMPLERATE/(1+SMPLRTDIV) SAMPLERATE=INTERNALSAMPLERATE/(1+SMPLRTDIV),其中, I N T E R N A L S A M P L E R A T E = 1 k K z INTERNALSAMPLERATE=1kKz INTERNALSAMPLERATE=1kKz

2.2.6 寄存器1A:配置寄存器

在这里插入图片描述
  FIFO_MODE:当设置为1 时,当FIFO已满时,将不会向FIFO写入额外的写操作;当设置为0 时,当FIFO已满时,将向FIFO继续写入,替换旧的数据。
  EXT_SYNC_SET[2:0]:启用FSYNC引脚数据采样。 FSYNC将被锁存以捕捉 short strobes。如果FSYNC切换,锁存值切换,但不会再切换,直到新的锁存值被采样率频闪捕获。(说实话,没看明白,我也不用这个)
  DLPF_CFG[2:0]:对于要使用的DLPF, FCHOICE_B[1:0]是00。
  当FCHOICE_B [1:0] = 00时,DLPF_CFG配置DLPF。陀螺仪和温度传感器根据DLPF_CFG和FCHOICE_B的值进行滤波,如下表所示:
在这里插入图片描述

2.2.7 寄存器1B:陀螺仪配置

在这里插入图片描述
   [7]~[5]:三轴陀螺仪的自检
  FS_SEL[1:0]:陀螺满量程选择。
  FCHOICE_B[1:0]:用于绕过DLPF,如2.2.6节表格所示。

2.2.8 寄存器1C:加速度计配置

在这里插入图片描述
   [7]~[5]:三轴加速度的自检
  ACCEL_FS_SEL[1:0] :加速度满量程选择。

2.2.9 寄存器1D:加速度计配置2

在这里插入图片描述
  DEC2_CFG[1:0]:低功率加速度计模式的平均滤波器设置:
  ACCEL_FCHOICE_B :用于绕过DLPF,如下表所示。
  A_DLPF_CFG:加速度计低通滤波器设置,如下表所示:
在这里插入图片描述
   DLPF滤波器块的数据输出速率可以通过因子 1/(1+SMPLRT_DIV)进一步降低,其中 SMPLRT_DIV 是一个8位整数。以下是在低噪声模式下以这种方式配置的加速度计的一小部分可配置的输出数据速率(Hz):3.91, 7.81, 15.63, 31.25, 62.50, 125, 250, 500, 1K
   以下表格列出了在一些示例输出数据速率下,低功耗模式操作中可用的近似加速度计滤波器带宽。
   在低功耗模式下,加速度计以循环工作的方式运行。以下表格显示了一些加速度计低功耗模式的示例配置。
在这里插入图片描述

2.2.10 寄存器1E -陀螺仪低功耗模式配置

在这里插入图片描述
  GYRO_CYCLE: 当设置为1时,启用低功耗陀螺仪模式。默认设置为 0 。
  G_AVGCFG[2:0]:低功耗陀螺仪模式的平均滤波器配置。默认设置为000。
  若要在陀螺仪低功耗模式或6轴低功耗模式下工作,则应将GYRO_CYCLE设置为1。陀螺仪滤波器配置由G_AVGCFG[2:0]确定,设置平均滤波器配置。它与DLPF_CFG[2:0]无关。下表显示了陀螺仪低功耗模式的一些示例配置:
在这里插入图片描述

2.2.11 寄存器20:x轴加速度计唤醒运动阈值

在这里插入图片描述
   WOM_X_TH[7:0]:这个寄存器保存了x轴加速度计的运动中断唤醒的阈值。

2.2.12 寄存器23:FIFO使能

在这里插入图片描述
  GYRO_FIFO_EN:

1 - 将 TEMP_OUT_H、TEMP_OUT_L、GYRO_XOUT_H、GYRO_XOUT_L、GYRO_YOUT_H、GYRO_YOUT_L、GYRO_ZOUT_H和 GYRO_ZOUT_L 按照采样率写入FIFO;即使数据路径处于待机状态,如果启用,数据仍会被缓存。
0 - 该功能被禁用。

  ACCEL_FIFO_EN:

1 - 将ACCEL_XOUT_H、ACCEL_XOUT_L、ACCEL_YOUT_H、ACCEL_YOUT_L、ACCEL_ZOUT_H、ACCEL_ZOUT_L、TEMP_OUT_H 和 TEMP_OUT_L 按照采样率写入FIFO。
0 - 该功能被禁用。

2.2.12 寄存器36:FSYNC中断状态

在这里插入图片描述
  FSYNC中断状态:当FSYNC中断产生时,这个位自动设置为1。在读取寄存器后,该位清除为0。

2.2.13 寄存器37:INT/DRDY引脚、旁路使能配置

在这里插入图片描述
  INT_LEVEL :

1 - INT/DRDY引脚的逻辑电平低。
0 - INT/DRDY引脚的逻辑电平高。

  INT_OPEN :

1 - INT/DRDY引脚配置为开漏。
0 - INT/DRDY引脚配置为推挽式。

  LATCH_INT_EN :

1 - INT/DRDY引脚电平保持,直到中断状态被清除。
0 - INT/DRDY引脚指示中断脉冲的宽度为50us。

  INT_RD_CLEAR :

1 -如果有读操作,清除中断状态。
0 -只通过读取INT_STATUS寄存器来清除中断状态

   FSYNC_INT_LEVEL:

1 - FSYNC引脚作为中断的逻辑电平低。
0 - FSYNC引脚作为中断的逻辑电平高。

  FSYNC_INT_MODE_EN:

当这个位等于1时,FSYNC引脚将触发中断,当它转换到FSYNC_INT_LEVEL指定的电平时。
当这个位等于0时,FSYNC引脚被禁止引起中断

2.2.14 寄存器39:FIFO水印中断状态

在这里插入图片描述
   FIFO_WM_INT:FIFO水印中断状态。可读清除。

2.2.15 寄存器3A:中断状态

在这里插入图片描述
  WOM_X_INT、WOM_Y_INT、WOM_Z_INT:X/Y/Z轴加速度计WoM中断状态。可读清除。
  FIFO_OFLOW_INT :当FIFO缓冲区溢出产生时,该位自动设置为1。在读取寄存器后,该位清除为0。
  GDRIVE_INT :陀螺仪驱动系统准备中断
  DATA_RDY_INT :当产生数据就绪中断时,该位自动设置为1。在读取寄存器后,该位清除为0

2.2.16 寄存器3B/3C、3D/3E、3F/40:加速度计测量

在这里插入图片描述
  ACCEL_XOUT[15:8] :加速度计x轴数据的高字节。
  ACCEL_XOUT[7:0] :加速度计x轴数据的低字节。

2.2.17 寄存器41/41:温度测量值

在这里插入图片描述
  TEMP_OUT[15:8]:温度传感器输出低字节。
  TEMP_OUT[7:0]:温度传感器输出高字节。

2.2.18 寄存器43/44、45/46、47/48:陀螺仪测量值

在这里插入图片描述
  GYRO_XOUT[15:8] :X轴陀螺仪输出的高字节。
  GYRO_XOUT[7:0]:X轴陀螺仪输出的低字节。

2.2.19 寄存器50,51,52:陀螺仪自检寄存器

在这里插入图片描述
  XG_ST_DATA[7:0]:此寄存器中的值表示在制造测试期间生成的自检输出。此值将用于检查最终用户执行的后续自检输出。

2.2.20 寄存器60,61:Fifo水印阈值

在这里插入图片描述
  FIFO_WM_TH[9:8] :FIFO水印阈值。当阈值设置为“0”时,水印中断关闭。默认值为00000000。
  FIFO_WM_TH[7:0] :FIFO水印阈值。当阈值设置为“0”时,水印中断关闭。默认值为00000000。
  寄存器FIFO_WM_TH[9:0]设置FIFO水印阈值级别(0 ~ 1023)。在使用此功能之前,用户应确保寄存器0x1A的第7位设置为0。当FIFO计数大于或等于水印电平(FIFO_COUNT[15:0]≥FIFO_WM_TH[9:0]),且系统未处于FIFO读的过程中,触发中断。中断将设置FIFO水印中断状态寄存器字段FIFO_WM_INT = 1,如果配置为脉冲模式,INT引脚将发出脉冲,如果配置为锁存模式,则设置为活动电平。与其他中断不同,寄存器位FIFO_WM_INT不是读到清除。相反,无论何时读取FIFO_R_W寄存器,FIFO_WM_INT状态位都会被自动清除。同时,如果配置为锁存模式,INT引脚也将被清除。
  FIFO水印中断和INT引脚在FIFO的第一次读取(并且仅是第一次读取)时被清除。如果在FIFO读取结束时,FIFO计数等于或高于水印水平,中断状态位和INT引脚将再次设置。如果INT引脚配置为锁存操作,它将等待,直到主机完成读取设置为活动水平。

2.2.21 寄存器68:信号通路复位

在这里插入图片描述
  ACCEL_RST:复位加速数字信号路径。注意:传感器寄存器不清除。使用SIG_COND_RST清除传感器寄存器。
   TEMP_RST:复位温度数字信号路径。注意:传感器寄存器不清除。使用SIG_COND_RST清除传感器寄存器

2.2.22 寄存器69:加速度计智能控制在这里插入图片描述

  ACCEL_INTEL_EN :该位启用了运动唤醒检测逻辑。
  ACCEL_INTEL_MODE :

0 -不使用
1 -将当前采样值与前一个采样值进行比较

   OUTPUT_LIMIT :为了避免限制传感器输出小于0x7FFF,请将此位设置为1。这应该在每次ICM20602上电时进行。
  WOM_TH_MODE :

0 -设置WoM中断在所有已使能的加速度计阈值的或上。
1 -设置WoM中断在所有已使能的加速度计阈值的与上

2.2.23 寄存器6A:用户控制寄存器

在这里插入图片描述
  FIFO_EN :

1 -使能FIFO操作模式。
0 -从串行接口禁用FIFO访问。

  FIFO_RST :1 -复位FIFO模块。重置是异步的。该位在内部20mhz时钟的一个时钟周期后自动清除。
  SIG_COND_RST:1 -复位所有陀螺仪数字信号路径,加速数字信号路径,和临时数字信号路径。这个位也清除所有的传感器寄存器。

2.2.24 寄存器6B:电源管理寄存器1

在这里插入图片描述
  DEVICE_RESET : 1 -重置内部寄存器并恢复默认设置。一旦复位完成,位自动清除为0。
  SLEEP : 设置为1时,芯片进入休眠模式。
  CYCLE :当设置为1,并且SLEEP和STANDBY不设置为1时,芯片将在睡眠和以SMPLRT_DIV确定的速率采集单个加速度计样本之间循环。注意:当通过PWR_MGMT_2寄存器位禁用所有加速度计轴并启用周期时,芯片将以上述各自寄存器确定的速率唤醒,但不会采集任何采样值。
  GYRO_STANDBY : 当设置时,陀螺仪驱动和锁相环电路被启用,但感测路径被禁用。这是一个低功耗模式,允许快速启用陀螺仪。
  TEMP_DIS : 当设置为1时,该位禁用温度传感器。
  CLKSEL[2:0]:CLKSEL[2:0]的默认值是001。需要将CLKSEL[2:0]设置为001以实现完整的陀螺仪性能。在这里插入图片描述

2.2.25 寄存器6C:电源管理寄存器2

在这里插入图片描述
   STBY_XA :

1 - X加速度计关闭
0 - X加速度计打开
  STBY_XG :

1 - X陀螺仪关闭
0 - X陀螺仪打开

2.2.26 寄存器70:IIC接口

在这里插入图片描述
   I2C_IF_DIS :1 -禁用I2C从模块,并将串行接口置于SPI模式。

2.2.27 寄存器72/73:FIFO计数寄存器

在这里插入图片描述
  FIFO_COUNT[15:8] :高八位, count表示FIFO写入字节数。读取这个字节将锁存FIFO_COUNTH和FIFO_COUNTL的数据。
  FIFO_COUNT[7:0] :低八位, count表示FIFO写入字节数。注意:必须读FIFO_COUNTL来锁存FIFO_COUNTH和FIFO_COUNTL的新数据。

2.2.28 寄存器74:FIFO读写寄存器

在这里插入图片描述
  这个寄存器用于从FIFO缓冲区读取和写入数据。
  FIFO_DATA[7:0] :Read/Write命令为FIFO提供读或写操作。

2.2.29 寄存器75:WHO AM I

在这里插入图片描述
  此寄存器用于验证设备的身份。WHOAMI的内容是一个8位的设备ID。寄存器的缺省值是0x12。这与应用处理器在从I2C控制器上看到的设备的I2C地址不同。ICM-20602的I2C地址为0x68或0x69,具体取决于AD0引脚驱动的值。

2.2.29 寄存器77/78、7A/7B、7D/7E:加速度计偏移寄存器

在这里插入图片描述
  XA_OFFS[14:7] :X轴加速度计偏移消除的高位。
  XA_OFFS[6:0] :X轴加速度计偏移消除的低位。

2.3 后续安排

   后续会通过STM32来实现对ICM20602模块的数据读取,并设计上位机来保存数据。

三、往期回顾

课题学习(一)----静态测量
课题学习(二)----倾角和方位角的动态测量方法(基于磁场的测量系统)
课题学习(三)----倾角和方位角的动态测量方法(基于陀螺仪的测量系统)
课题学习(四)----四元数解法
课题学习(五)----阅读论文《抗差自适应滤波的导向钻具动态姿态测量方法》
课题学习(六)----安装误差校准、实验方法
课题学习(七)----粘滑运动的动态算法
课题学习(八)----卡尔曼滤波动态求解倾角、方位角
课题学习(九)----阅读《导向钻井工具姿态动态测量的自适应滤波方法》论文笔记
课题学习(十)----阅读《基于数据融合的近钻头井眼轨迹参数动态测量方法》论文笔记
课题学习(十一)----阅读《Attitude Determination with Magnetometers and Accelerometers to Use in Satellite》
课题学习(十二)----阅读《Extension of a Two-Step Calibration Methodology to Include Nonorthogonal Sensor Axes》
课题学习(十三)----阅读《Calibration of Strapdown Magnetometers in Magnetic Field Domain》论文笔记

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

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

相关文章

JavaWeb(四)

一、约束的概念和分类 约束是作用于表中列上的规则&#xff0c;用于限制加入表的数据&#xff0c;约束的存在保证了数据库中数据的正确性、有效性和完整性。 1.1、单表约束 利用约束创建表 需要注意的是: 1、主键是一行数据的唯一标识&#xff0c;要求非空且唯一。一张表只能…

Ubuntu20.04安装ROS2

官方参考文章 Ubuntu (Debian) — ROS 2 Documentation: Foxy documentation curl密钥问题 sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg curl: (7) Failed to connect to raw.githubus…

DNA模糊匹配(动态规划)

我做动态规划还是少的 只会做那些显而易见的动态规划题&#xff08;这题是看了给出来的解题思路做的&#xff09; 以后可能就会做与这类似的了 代码如下&#xff1a; #include<stdio.h> #include<string.h> int get_min(int a, int b, int c); int min_l[301][…

R语言gWQS包在加权分位数和回归模型的应用

在流行病学研究中&#xff0c;相较于单一因素的暴露&#xff0c;多因素同时暴露的情况更为常见。传统模型在评价多因素联合暴露时存在数据维度高、多重共线性等问题. WQS 回归模型的基本原理是通过分位数间距及加权的方法&#xff0c;将多种研究因素的效应综合成为一个指数&…

LLM大语言模型(一):ChatGLM3-6B试用

前言 LLM大语言模型工程化&#xff0c;在本地搭建一套开源的LLM&#xff0c;方便后续的Agent等特性的研究。 本机环境 CPU&#xff1a;AMD Ryzen 5 3600X 6-Core Processor Mem&#xff1a;32GB GPU&#xff1a;RTX 4060Ti 16G ChatGLM3代码库下载 # 下载代码库 ​git c…

java后端自学错误总结

java后端自学错误总结 MessageSource国际化接口总结 MessageSource国际化接口 今天第一次使用MessageSource接口,比较意外遇到了一些坑 messageSource是spring中的转换消息接口&#xff0c;提供了国际化信息的能力。MessageSource用于解析 消息&#xff0c;并支持消息的参数化…

【中文编码】利用bert-base-chinese中的Tokenizer实现中文编码嵌入

最近接触文本处理&#xff0c;查询了一些资料&#xff0c;记录一下中文文本编码的处理方法吧。   先下载模型和词表&#xff1a;bert-base-chinese镜像下载   如下图示&#xff0c;下载好的以下文件均存放在 bert-base-chinese 文件夹下    1. 词编码嵌入简介 按我通俗的…

基于SpringBoot的公益慈善平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 基于SpringBoot的公益…

arcgis导出某个属性的栅格

选中栅格特定属性想要导出时&#xff0c;无法选中“所选图形” 【方法】spatial analyst 工具——提取分析——按属性提取

C++笔试训练day_1

文章目录 选择题编程题 选择题 编程题 #include <iostream> #include <algorithm> #include <vector>using namespace std;int main() {int n 0;cin >> n;vector<int> v;v.resize(3 * n);int x 0;for(int i 0; i < v.size(); i){cin >&…

【Java基础篇 | 面向对象】—— 聊聊什么是多态(下篇)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习JavaSE的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 一、动态绑定和静态绑…

opencv几何变换和图像形态学

实验1 实验内容 该代码演示了如何使用OpenCV库中的WarpAffine函数进行图像基础的仿射变换 代码注释 import numpy as np import cv2 as cvimg cv.imread(rtest.jpg, 1) rows, cols, channels img.shape M np.float32([[1,0,100],[0,1,50]]) res cv.warpAffine(img, M, …

【微信小程序】上传头像 微信小程序内接小程序客服

这里写目录标题 微信小程序上传头像使用button按钮包裹img 微信小程序内接小程序客服使用button按钮跳转客服 微信小程序上传头像 使用button按钮包裹img 原本思路是只使用image标签再加上chooseImg&#xff0c;但发现使用button标签上传头像这种方法更实用。微信小程序文档上…

C++实现DFS、BFS、Kruskal算法和Prim算法、拓扑排序、Dijkstra算法

背景&#xff1a; 实现要求&#xff1a; 根据图的抽象数据类型的定义&#xff0c;请采用邻接矩阵来存储图1&#xff0c;采用邻接表来存储图2&#xff0c;并完成如下操作&#xff1a;对图1无向图进行深度优先遍历和广度优先遍历。对图1无向图采用Kruskal算法和Prim算法得出最小…

如何保持高能量

精力管理 精力管理对于平衡多项任务和保持热情至关重要。 通过自我积极反馈循环系统培养积极的内心声音。 培养仪式和习惯来控制内心的声音并保持能量。 学习语言带来正能量和宝贵的技能 保持高能量需要自我赋权和体力充电。 经常锻炼有很多好处&#xff0c;包括改善健康…

BLIP和BLIP2

1.BLIP BLIP的第一个共享是将图像文本理解与图像文本生成任务进行了统一&#xff0c;形成了多模态统一模型&#xff0c;模型在ITC任务上的效果也比CLIP更好。 1.1任务 ITC&#xff1a;就是CLIP中的图像文本对比学习任务 ITM&#xff1a;针对ITC任务中匹配不正确的样本&#…

FreeRtos第一个task是怎么run起来的

第一个task是怎么起来的呢&#xff1f;分析完vTaskStartScheduler&#xff0c;就会有答案了。 那vTaskStartScheduler()干了啥呢&#xff1f; 一、创建prvIdleTask task 二、xTimerCreateTimerTask里创建prvTimerTask task 三、初始化一些全局变量 3.1 xNextTaskUnblockTime…

业务数据治理体系化实施流程学习总结

目录 一、业务数据治理实施流程 步骤 1&#xff1a;发现问题和制定目标 步骤 2&#xff1a;针对问题进行拆解&#xff0c;设计可衡量的指标 步骤 3&#xff1a;制定解决SOP和检查研发标准规范 步骤 4&#xff1a;推广运营&#xff0c;以拿结果为核心目标 步骤 5&#xff…

navicat某些表为什么不按主键排序

不知道大家注没注意过navicat的这种情况 为什么不是按主键排序呢 我们来全表扫描看下他的执行计划 explain select * from orsql3; 可以发现不是全表扫描而是索引树扫描&#xff0c;由此得知了共性&#xff0c;不按主键顺序排序的表&#xff0c;肯定是在二级索引上就保存着全部…

计算机网络体系的形成

目录 1、开放系统互连参考模型OSI/RM 2、两种国际标准 3、协议与划分层次 4、网络协议的三要素 5、划分层次 &#xff08;1&#xff09;文件发送模块使两个主机交换文件 &#xff08;2&#xff09;通信服务模块 &#xff08;3&#xff09;接入网络模块 6、分层带来的好…