STM32F4X SDIO(四) SDIO控制器

news2024/11/27 23:44:40

STM32F4X SDIO(四) SDIO控制器

  • STM32F4X SDIO控制器
    • SDIO控制器框图
      • SDIO控制器时钟
      • 适配器寄存器
      • FIFO
      • 控制单元
      • 命令路径
      • 数据路径
    • SDIO寄存器
      • SDIO控制相关寄存器
        • SDIO电源控制寄存器 (SDIO_POWER)
        • SDIO时钟控制寄存器 (SDIO_CLKCR)
          • SDIO_CK相位
      • SDIO命令响应相关寄存器
        • SDIO参数寄存器 (SDIO_ARG)
        • SDIO命令寄存器 (SDIO_CMD)
        • SDIO命令响应寄存器 (SDIO_RESPCMD)
        • SDIO响应1/2/3/4寄存器 (SDIO_RESPx)
      • SDIO数据相关寄存器
        • SDIO数据定时器寄存器(SDIO_DTIMER)
        • SDIO数据长度寄存器(SDIO_DLEN)
        • SDIO数据控制寄存器(SDIO_DCTRL)
        • SDIO 数据计数器寄存器 (SDIO_DCOUNT)
      • SDIO状态相关寄存器
        • SDIO 状态寄存器 (SDIO_STA)
        • SDIO 中断清零寄存器 (SDIO_ICR)
        • SDIO 屏蔽寄存器 (SDIO_MASK)
      • SDIO FIFO相关寄存器
        • SDIO FIFO 计数器寄存器 (SDIO_FIFOCNT)
        • SDIO 数据 FIFO 寄存器 (SDIO_FIFO)

STM32F4X内部有一个SDIO控制器,开发者可以使用这个控制器跟SD卡进行通信,下面就来简单了解一下STM32F4X的SDIO控制器的使用。

STM32F4X SDIO控制器

SDIO控制器框图

下图为STM32F4X的SDIO控制器框图,框图可以分为以下5部分,适配器寄存器FIFO控制单元命令路径数据路径
在这里插入图片描述

SDIO控制器时钟

STM32F4X的所有外设都需要时钟才能够工作,SDIO控制器也不例外。SDIO控制工作时需要两个时钟,一个是SDIOCLK时钟APB2时钟
SDIOCLK:SDIO控制器输出到SD卡的时钟,该时钟可以通过配置分频系数决定其频率,最大为48MHZ。
APB2时钟:APB2时钟是SDIO控制器的工作时钟。

SDIO控制器的寄存器和FIFO模块使用的APB2时钟、控制单元、命令路径和数据路径使用的是SDIOCLK时钟

适配器寄存器

适配器寄存器模块包含了STM32F4X SDIO控制器的所有寄存器,所有基于SDIO控制器的操作都需要读写寄存器来完成,STM32F4X的SDIO寄存器一共有16个。
在这里插入图片描述

FIFO

STM32F4X的SDIO控制器内部带了FIFO单元,当用户使能了FIFO之后,控制器往SD卡发送数据或者从SD卡接收的数据都可以暂时存到FIFO里面。

控制单元

STM32F4X SDIO控制器的控制单元包含了SD卡电源管理和SD卡的时钟管理功能。

命令路径

STM32F4X SDIO控制器的命令路径主要是给SD卡发送命令并且接收来自SD卡的响应。

数据路径

STM32F4X SDIO控制器的命令路径主要是给SD卡发送数据并且接收来自SD卡的数据。如果使用了8位数据宽度的模式,则SDIO_D[7:0]8根信号线都会使用。如果使用了4位数据宽度的模式,则SDIO_D[3:0]4根信号线都会使用。如果使用了1位数据宽度的模式,则只有SDIO_D01根信号线都会使用。

SDIO寄存器

想要使用STM32F4X的SDIO控制器就要学会配置SDIO的寄存器,下面就来简单了解一下STM32F4X的SDIO寄存器。

SDIO控制相关寄存器

SDIO电源控制寄存器 (SDIO_POWER)

该寄存器的作用是控制SDIO_CK的时钟,通过修改该寄存器使能或者关闭SDIO_CK时钟。
在这里插入图片描述

比特位数值描述
bit[1:0] PWRCTRL00:掉电:停止为卡提供时钟。
01:保留
10:保留,上电
11:通电:为卡提供时钟。
电源控制位
SDIO时钟控制寄存器 (SDIO_CLKCR)

该寄存器主要是控制SDIO_CK时钟的使能,时钟分频系数的确定,数据线位宽的选择等

在这里插入图片描述

比特位数值描述
bit[14] HWFC_EN0:禁止硬件流控制
1:使能硬件流控制
硬件流控制使能
bit[13] NEGEDGE0:在主时钟 SDIOCLK 的上升沿产生 SDIO_CK
1:在主时钟 SDIOCLK 的下降沿产生 SDIO_CK
SDIO_CK 移相选择位
bit[12:11] WIDBUS00:默认总线模式:使用 SDIO_D0
01:4 位宽总线模式:使用 SDIO_D[3:0]
10:8 位宽总线模式:使用 SDIO_D[7:0]
宽总线模式使能位
bit[10] BYPASS0:禁止旁路:在驱动 SDIO_CK 输出信号前,根据 CLKDIV 值对 SDIOCLK 进行分频。
1:使能旁路:SDIOCLK 直接驱动 SDIO_CK 输出信号。
时钟分频器旁路使能位
bit[9] PWRSAV0:始终使能 SDIO_CK 时钟
1:仅在总线激活时使能 SDIO_CK
节能模式配置位
bit[8] CLKEN 0:始终使能 SDIO_CK 时钟
1:仅在总线激活时使能 SDIO_CK
时钟使能位
bit[7:0] CLKDIV 该字段定义输入时钟 (SDIOCLK) 与输出时钟 (SDIO_CK) 之间的分频系数: SDIO_CK 频率 = SDIOCLK / [CLKDIV + 2] 时钟分频系数
SDIO_CK相位

在时钟控制寄存器的bit13中有一个叫时钟相位的概念,所谓的时钟相位意思就是其采样的时间,有两种相位选择,分别是SDIOCLK的上升沿SDIOCLK的下降沿

  • SDIOCLK的上升沿产生SDIO_CK

在这里插入图片描述

  • SDIOCLK的下降沿产生SDIO_CK
    在这里插入图片描述

SDIO命令响应相关寄存器

SDIO参数寄存器 (SDIO_ARG)

该寄存器的作用是将命令的参数发送到SD卡
在这里插入图片描述

比特位数值描述
bit[31:0] CMDARG32位命令参数 作为命令消息的一部分发送给卡的命令参数。如果命令包含参数,则在将命令写入到命令寄存器之前,必须将参数加载到此寄存器中。
SDIO命令寄存器 (SDIO_CMD)

该寄存器主要包含SD卡的命令索引,设置响应类型等。
在这里插入图片描述

比特位数值描述
bit[14] ATACMD0/1 如果 ATACMD 置 1,则 CPSM 将传输 CMD61。
bit[13] nIEN0:使能 CE-ATA 设备中的中断
1:不使能 CE-ATA 设备中的中断
如果该位为 0,则使能 CE-ATA 设备中的中断
bit[12] ENCMDcompl0:如果此位置 1,则使能命令完成信号
0:不如果此位置 1,则使能命令完成信号
如果此位置 1,则使能命令完成信号
bit[11] SDIOSuspend0:发送的命令不是挂起命令
1:发送的命令为挂起命令。
如果此位置 1,则要发送的命令为挂起命令(仅用于 SDIO 卡)
bit[10] CPSMEN0:不使能 CPSM
1:使能 CPSM
命令路径状态机 (CPSM) 使能位
bit[9] WAITPEND 0:CPSM 将不等到数据传输结束后才开始发送命令
1:CPSM 将等到数据传输结束后才开始发送命令
如果此位置 1,则 CPSM 将等到数据传输结束后才开始发送命令
bit[8] WAITINT 0:CPSM 允许命令超时并等待中断请求
1:CPSM 禁止命令超时并等待中断请求
如果此位置 1,则 CPSM 禁止命令超时并等待中断请求
bit[7:6] WAITRESP 00:无响应,但 CMDSENT 标志除外
01:短响应,但 CMDREND 或 CCRCFAIL 标志除外
10:无响应,但 CMDSENT 标志除外
11:长响应,但 CMDREND 或 CCRCFAIL 标志除外
这些位用于配置 CPSM 是否等待响应,如果等待,将等待哪种类型的响应
bit[5:0] CMDINDEX 命令编号 命令索引作为命令消息的一部分发送给卡

该寄存器主要需要关注的有以下几个

  • bit[5:0]:SD卡命令索引,命令索引在前一章里面有讲过https://blog.csdn.net/hwx1546/article/details/134091068,主要就是往bit[5:0]写入需要发送的命令编号。
  • bit[7:6]:响应类型,SD卡有些命令返回的短响应,有些是长响应,也有些是无响应。
SDIO命令响应寄存器 (SDIO_RESPCMD)

有些SD卡响应数据中会包含命令号,而这个命令号可以通过SDIO的命令响应寄存器获取。
在这里插入图片描述

比特位数值描述
bit[5:0] RESPCMD6位命令响应索引 只读位域。包含接收到的最后一个命令响应的命令索引

在这里插入图片描述

SDIO响应1/2/3/4寄存器 (SDIO_RESPx)

该寄存器中包含了SD卡的响应数据,其中短响应用到了SDIO_RESP1寄存器,而长响应用到了SDIO_RESP1/2/3/4寄存器
在这里插入图片描述

寄存器短响应长响应
SDIO_RESP1卡状态[31:0] 卡状态 [127:96]
SDIO_RESP2X 卡状态 [95:64]
SDIO_RESP3X 卡状态 [63:32]
SDIO_RESP4X 卡状态 [31:1]

SDIO数据相关寄存器

SDIO数据定时器寄存器(SDIO_DTIMER)

该寄存器设置的SDIO数据超时周期,其周期是SD卡总线时钟周期*寄存器值
在这里插入图片描述

比特位数值描述
bit[31:0] DATATIME超时值 以卡总线时钟周期表示的数据超时周期。
SDIO数据长度寄存器(SDIO_DLEN)

该寄存器设置的是SD卡读写过程中的需要传输的数据长度。
在这里插入图片描述

比特位数值描述
bit[24:0] DATALENGTH数据字节个数 要传输的数据字节数量。

注意:对于块数据传输,数据长度寄存器中的值必须是块大小的倍数。对于SDIO多字节传输,数据长度寄存器中的值必须在1到512之间。

SDIO数据控制寄存器(SDIO_DCTRL)

在这里插入图片描述

比特位数值描述
bit[11] SDIOEN0/1 如果将该位置 1,则 DPSM 执行特定于 SD I/O 卡的操作。
bit[10] RWMOD0:通过停止 SDIO_D2 进行读取等待控制
1:使用 SDIO_CK 进行读取等待控制
读取等待模式
bit[9] RWSTOP0:如果将 RWSTART 位置 1,则读取等待正在进行中
1:如果将 RWSTART 位置 1,则使能读取等待停止
读取等待停止
bit[8] RWSTART0:读取等待未开始
1:读取等待开始。
如果将该位置 1,则读取等待操作开始
bit[7:4] DBLOCKSIZE 0000:(十进制数 0)块长度 = 2的0次方= 1 字节
0001:(十进制数 1) 块长度 = 2的1次方 = 2 字节
0010:(十进制数 2) 块长度 = 2的2次方 = 4 字节
0011:(十进制数 3) 块长度 = 2的3次方 = 8 字节
0100:(十进制数 4) 块长度 = 2的4次方 = 16 字节
0101:(十进制数 5) 块长度 = 2的5次方 = 32 字节
0110:(十进制数 6) 块长度 = 2的6次方 = 64 字节
0111:(十进制数 7) 块长度 = 2的7次方 = 128 字节
1000:(十进制数 8) 块长度 = 2的8次方 = 256 字节
1001:(十进制数 9) 块长度 = 2的9次方 = 512 字节
1010:(十进制数 10 块长度 = 2的10次方 = 1024 字节
1011:(十进制数 11) 块长度 = 2的11次方 = 2048 字节
1100:(十进制数 12) 块长度 = 2的12次方 = 4096 字节
1101:(十进制数 13) 块长度 = 2的13次方 = 8192 字节
1110:(十进制数 14) 块长度 = 2的14次方 = 16384 字节
1111:(十进制数 15) 保留
定义在选择了块数据传输模式时数据块的长度
bit[3] DMAEN 0:禁止 DMA
1:使能 DMA
DMA 使能位
bit[2] DTMODE 0:块数据传输
1:流或 SDIO 多字节数据传输
数据传输模式选择
bit[1] DTDIR 0:从控制器到卡
1:从卡到控制器
数据传输方向选择
bit[0] DTEN 如果 1 写入到 DTEN 位,则数据传输开始。根据方向位 DTDIR,如果在传输开始时立即将 RW 置 1开始,则 DPSM 变为 Wait_S 状态、Wait_R 状态或读取等待状态。在数据传输结束 后不需要将使能位清零,但必须更新 SDIO_DCTRL 以使能新的数据传输 数据传输使能位

该寄存器主要需要关注的有以下几个

  • bit[1] 数据传输方向:数据传输方向有两个,当我们往SD卡写数据时,方向是SDIO控制器到SD卡。当从SD卡读数据时,方向是从SD卡到SDIO控制器
  • bit[2] 数据传输模式:对于SDHC容量的SD卡来说数据传输模式是块数据传输。对于标准SD卡来说数据传输模式则是流或多字节传输
  • bit[7:4] 数据块大小:对于SDHC容量的SD卡,数据块大小通常是512字节数据块大小要是数据长度寄存器的整数倍
SDIO 数据计数器寄存器 (SDIO_DCOUNT)

该寄存器返回的是传输剩余的数据量,只读。
在这里插入图片描述

比特位数值描述
bit[24:0] DATACOUNT数据计数值 读取该位时,将返回要传输的剩余数据字节数量。写入没有任何效果。

SDIO状态相关寄存器

SDIO 状态寄存器 (SDIO_STA)

该寄存器是一个只读寄存器,保存了SDIO工作过程中的各种状态。该寄存器中的位被置1则代表该位代表的状态发送,如果为0则代表该位的状态没有发生。
在这里插入图片描述

比特位描述
bit[23] CEATAEND针对 CMD61 收到了 CE-ATA 命令完成信号
bit[22] SDIOIT收到了 SDIO 中断 (SDIO interrupt received)
bit[21] RXDAVL接收 FIFO 中有数据可用 (Data available in receive FIFO)
bit[20] TXDAVL传输 FIFO 中有数据可用 (Data available in transmit FIFO)
bit[19] RXFIFOE接收 FIFO 为空 (Receive FIFO empty)
bit[18] TXFIFOE发送 FIFO 为空 (Transmit FIFO empty)
bit[17] RXFIFOE接收 FIFO 已满 (Receive FIFO full)
bit[16] TXFIFOF传输 FIFO 已满 (Transmit FIFO full)
bit[15] RXFIFOHF接收 FIFO 半满
bit[14] TXFIFOHE传输 FIFO 半空
bit[13] RXACT数据接收正在进行中 (Data receive in progress)
bit[12] TXACT数据传输正在进行中 (Data transmit in progress)
bit[11] CMDACT命令传输正在进行中 (Command transfer in progress)
bit[10] DBCKEND已发送/ 接收数据块(CRC 校验通过)
bit[9] STBITERR在宽总线模式下,并非在所有数据信号上都检测到了起始位
bit[8] DATAEND数据结束(数据计数器 SDIDCOUNT 为零)
bit[7] CMDSENT命令已发送(不需要响应)(Command sent (no response required))
bit[6] CMDREND已接收命令响应(CRC 校验通过)
bit[5] RXOVERR收到了 FIFO 上溢错误 (Received FIFO overrun error)
bit[4] TXUNDERR传输 FIFO 下溢错误 (Transmit FIFO underrun error)
bit[3] DTIMEOUT数据超时 (Data timeout)
bit[2] CTIMEOUT命令响应超时 (Command response timeout)
bit[1] DCRCFAIL已发送/ 接收数据块(CRC 校验失败)
bit[0] CCRCFAIL已接收命令响应(CRC 校验失败)
SDIO 中断清零寄存器 (SDIO_ICR)

当用户往该寄存器的某些位写1时,会将SDIO_STA的对应位清0

比特位数值描述
bit[23] CEATAENDC0:未将 CEATAEND 清零
1:已将 CEATAEND 清零
CEATAEND 标志清零位
bit[22] SDIOITC0:未将 SDIOITC清零
1:已将 SDIOITC清零
SDIOIT 标志清零位
bit[10] DBCKENDC0:未将 DBCKENDC清零
1:已将 DBCKENDC清零
DBCKENDC标志清零位
bit[9] STBITERRC0:未将 STBITERRC清零
1:已将 STBITERRC清零
STBITERRC标志清零位
bit[8] DATAENDC0:未将 DATAENDC清零
1:已将 DATAENDC清零
DATAENDC标志清零位
bit[7] CMDSENTC0:未将 CMDSENTC清零
1:已将 CMDSENTC清零
CMDSENTC标志清零位
bit[6] CMDRENDC0:未将 CMDRENDC清零
1:已将 CMDRENDC清零
CMDRENDC标志清零位
bit[5] RXOVERRC0:未将 RXOVERRC清零
1:已将 RXOVERRC清零
RXOVERRC标志清零位
bit[4] TXUNDERRC0:未将 TXUNDERRC清零
1:已将 TXUNDERRC清零
TXUNDERRC标志清零位
bit[3] DTIMEOUTC0:未将 DTIMEOUTC清零
1:已将 DTIMEOUTC清零
DTIMEOUTC标志清零位
bit[2] CTIMEOUTC0:未将 CTIMEOUTC清零
1:已将 CTIMEOUTC清零
CTIMEOUTC标志清零位
bit[1] DCRCFAILC0:未将 DCRCFAILC清零
1:已将 DCRCFAILC清零
DCRCFAILC标志清零位
bit[0] CCRCFAILC0:未将 CCRCFAILC清零
1:已将 CCRCFAILC清零
CCRCFAILC标志清零位
SDIO 屏蔽寄存器 (SDIO_MASK)

当用户往该寄存器的某些位写1时,该标志位就会产生一个中断。

在这里插入图片描述

比特位数值描述
bit[23] CEATAENDIE0:禁止接收到 CE-ATA 命令完成信号时中断
1:使能接收到 CE-ATA 命令完成信号时中断
接收到 CE-ATA 命令完成信号时中断使能
bit[22] SDIOITIE0:禁止接收到 SDIO 模式中断时中断
1:使能接收到 SDIO 模式中断时中断
接收到 SDIO 模式中断时中断使能
bit[21] RXDAVLIE0:禁止 Rx FIFO 中有数据时中断
1:使能 Rx FIFO 中有数据时中断
Rx FIFO 中数据可用时中断使能
bit[20] TXDAVLIE0:禁止 Tx FIFO 中数据可用时中断
1:使能 Tx FIFO 中数据可用时中断
Tx FIFO 中数据可用时中断使能
bit[19] RXFIFOEIE0:禁止 Rx FIFO 为空时中断
1:使能 Rx FIFO 为空时中断
Rx FIFO 为空时中断使能
bit[18] TXFIFOEIE0:禁止 Tx FIFO 为空时中断
1:使能 Tx FIFO 为空时中断
Tx FIFO 为空时中断使能
bit[17] RXFIFOFIE0:禁止 Rx FIFO 变满时中断
1:使能 Rx FIFO 变满时中断
Rx FIFO 变满时中断使能
bit[16] TXFIFOFIE0:禁止 Tx FIFO 变满时中断
1:使能 Tx FIFO 变满时中断
Tx FIFO 变满时中断使能
bit[15] RXFIFOHFIE0:禁止 Rx FIFO 半满时中断
1:使能 Rx FIFO 半满时中断
Rx FIFO 半满时中断使能
bit[14] TXFIFOHEIE0:禁止 Tx FIFO 半空时中断
1:使能 Tx FIFO 半空时中断
Tx FIFO 半空时中断使能
bit[13] RXACTIE0:禁止数据接收操作中断
1:使能数据接收操作中断
数据接收操作中断使能
bit[12] TXACTIE0:禁止数据传输操作中断
1:使能数据传输操作中断
数据传输操作中断使能
bit[11] CMDACTIE0:禁止命令操作中断
1:使能命令操作中断
命令操作中断使能
bit[10] DBCKENDIE0:禁止数据块结束中断
1:使能数据块结束中断
数据块结束中断使能
bit[9] STBITERRIE0:禁止起始位错误中断
1:使能起始位错误中断
起始位错误中断使能
bit[8] DATAENDIE0:禁止数据结束中断
1:使能数据结束中断
数据结束中断使能
bit[7] CMDSENTIE0:禁止命令发送中断
1:使能命令发送中断
命令发送中断使能
bit[6] CMDRENDIE0:禁止命令响应接收中断
1:使能命令响应接收中断
命令响应接收中断使能
bit[5] RXOVERRIE0:禁止 Rx FIFO 上溢错误中断
1:使能 Rx FIFO 上溢错误中断
Rx FIFO 上溢错误中断使能
bit[4] TXUNDERRIE0:禁止 Tx FIFO 下溢错误中断
1:使能 Tx FIFO 下溢错误中断
Tx FIFO 下溢错误中断使能
bit[3] DTIMEOUTIE0:禁止数据超时中断
1:使能数据超时中断
数据超时中断使能
bit[2] CTIMEOUTIE0:禁止命令超时中断
1:使能命令超时中断
命令超时中断使能
bit[1] DCRCFAILIE0:禁止数据 CRC 失败中断
1:使能数据 CRC 失败中断
数据 CRC 失败中断使能
bit[0] CCRCFAILIE0:禁止命令 CRC 失败中断
1:使能命令 CRC 失败中断
命令 CRC 失败中断使能

SDIO FIFO相关寄存器

SDIO FIFO 计数器寄存器 (SDIO_FIFOCNT)

该寄存器包含了FIFO写入或读取的剩余字节数
在这里插入图片描述

比特位数值描述
bit[24:0] FIFOCOUNTFIFO剩余的字节数 要在 FIFO 中写入或读取的剩余字数
SDIO 数据 FIFO 寄存器 (SDIO_FIFO)

该寄存器用来发生个接收SD卡数据
在这里插入图片描述

比特位数值描述
bit[31:0] FIFODataFIFO数据 接收和传输 FIFO 数据

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

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

相关文章

Linux中正则表达式等

grep命令:主要作用就是过滤查找文本内容 常用的选项有: -m 数字:匹配几次之后停止,按行匹配,不是按字符个数,例如 -v:取反 例如: -n:显示匹配的行号 例如: -c:仅显示匹配的行数,不显示匹配内…

C/C++满足条件的3位数 2020年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C满足条件的3位数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C满足条件的3位数 2020年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 编写程序,按从小到大的顺序…

C/C++数据结构之时间复杂度和空间复杂度详细解析以及力扣刷题

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.前言 2.算法的…

中国各城市土地利用类型(城市功能)矢量数据集(shp)

中国各城市土地利用类型(城市功能)数据集 时间:2018年 全国范围的城市用地类型数据(居住/商业/交通用地等共计11类) 分类:居住用地、商业用地、工业用地、医疗设施用地、体育文化设施用地、交通场站用地、绿地等用地类型 含城市编码、一级分类5个、二级分类11个 数据按…

SQL SERVER 表分区

1. 概要说明 SQL SERVER的表分区功能是为了将一个大表(表中含有非常多条数据)的数据根据某条件(仅限该表的主键)拆分成多个文件存放,以提高查询数据时的效率。创建表分区的主要步骤是 1、确定需要以哪一个字段作为分…

语雀P0级时间爆发,留给运维的时间不多了?

事件背景 打工人的焦虑,已经延伸到在线文档了。近日,语雀P0级故障想必大家都有所体会,宕机近8小时,笔记、离线同步完全不可用。作为用户尤其担心我的文档资料是否会因此消失。 这泼天的8小时,放眼互联网界也是相当炸裂…

重生奇迹MU的三大知名宝石

一、祝福宝石 祝福宝石也是重生奇迹中的一种知名宝石,它的体积要比玛雅宝石大一些,颜色是一种粉色,呈菱形的一个多面体,掉在地上或是鼠标移上去,你就能看到“祝福宝石”这几个字样。 如果你打到祝福宝石的话&#xf…

记录微调chatglm3

用于记录chatglm3的过程,防止忘记 需要注意的 可以使用xtuner -h查看有哪些功能可以使用。 [2023-10-31 11:40:18,643] [INFO] [real_accelerator.py:158:get_accelerator] Setting ds_accelerator to cuda (auto detect) 10/31 11:40:22 - mmengine - INFO - Ar…

在Windows上安装Elasticsearch-8.x.x

前言 Elasticsearch 是一种流行的开源搜索和分析引擎,它提供了强大的全文搜索和实时数据分析功能,被广泛应用于各种领域,包括大数据分析、日志处理、企业搜索等。 一、下载 Elasticsearch 官方网站(https://www.elastic.co/dow…

R语言在生态环境领域中的实践技术应用

R语言作为新兴的统计软件,以开源、自由、免费等特点风靡全球。生态环境领域研究内容广泛,数据常多样而复杂。利用R语言进行多元统计分析,从复杂的现象中发现规律、探索机制正是R的优势。为此,以鱼类、昆虫、水文、地形等多样化的生…

Django开发实例总结(入门级、4.2.6、详细)

目录 概述 Django的核心组件包括 Django的项目结构 创建工程(4.2.6) 实例一:Hello world 实例二:访问一个自定义主页 实例三:通过登录跳转到主页 实例四:主页添加静态文件,包含js、css、…

学习Python,为什么可以轻松应对工作大小事?

Python,大名鼎鼎,它在工作中到底能发挥什么样的作用?在现代职场,Python如同一把瑰丽的多功能钥匙,能打开各行各业的大门。无论你是行政助手、财务分析师、电商经营者,还是数据研究员,Python都能…

pychram中cmd已导入docx库仍报错ModuleNotFoundError: No module named ‘docx‘

已经在cmd里pip install python-docx了,但是执行py文件时依然报错,解决方式是在File-Setting-Python Interpreter中点击号,搜索python-docx点击install package等待安装成功再执行文件就不会报错了。

SkyWalking官方文档-1-概述

概述 SkyWalking是一个开源的可观测平台,用于收集,分析,聚合,以及可视化处理来自服务和云原生框架的数据。SkyWalking提供了一种简单的方法来维护分布式系统的清晰视图,即使是跨云。 它是一种现代APM,专门…

手机app爬虫配置(模拟机)

近期在做某个项目,涉及到需要对手机app的进行数据爬取。 下面将讲述具体配置步骤 1、安装手机模拟器 在百度上搜索手机模拟器就可以啦,这里以夜神模拟器夜神安卓模拟器-安卓模拟器电脑版下载_安卓手游模拟器_手机模拟器_官网为例子。 下载后,直接点击安装即可。 2、安装…

多模态对比语言图像预训练CLIP:打破语言与视觉的界限

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…

美国人工智能政策公布

美国总统拜登 30 号上午发布了一项关于人工智能(AI)的行政命令(EO)。该行政命令最初以白宫情况说明书的形式向公众提供,“为人工智能安全和安保制定了新标准,保护美国人的隐私,促进公平和公民权…

【C++指针】类的指针

/*** file * author jUicE_g2R(qq:3406291309) * brief 类的指针* copyright 2023.10* COPYRIGHT 原创学习笔记:转载需获得博主本人同意,且需标明转载源* language C*/1 类 类 类 需要在 . h 文件 .h文件 .h文件 先声明 //…

MyBatis批量插入数据优化,新增参数大幅提升操作效率

项目中进行接口压测,发现批量插入的速度有点超出预期,感觉很奇怪,经过定位后发现mybatise-plus批量保存的处理十分缓慢,使用的是saveBatch方法,这点有点想不通。于是就进行了相关内容分析。 根据mybatise-plus中saveB…

ecplise中导入或更新项目之后出现的jsp文件一直显示红叉

解决办法:右键---build path或者properties中找java build path 先检查项目本身的jre版本是不是不与你本身的加热版本相同,如果不相同,则选中这个jre Systemlibrary -----右边有一个remove删除点。。。 (2)重新添加一…