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

1.2.STM32简介——全程手敲板书

江协科技STM32课程链接:1.2.STM32简介

前方名词警告!

请新手放开心神,跟着博主把每一个字敲一遍,后面都会把这些前置知识用上的!大概过一遍即可,不求甚解

一、STM32基本情况

在这里插入图片描述

1、第一条

STM32:

ST是公司名,M是Microcontroller(微控制器)的首字母。微控制器就是MCU——我们常说的单片机。

32代表着这是一款32位的单片机,比8位的STM8性能更强

ARM Cortex-M内核是STM32内部的核心部分,由ARM公司设计——其地位十分重要,包括像程序指令的执行,加减乘除的运算,都是在内核中完成的,相当于整个芯片的CPU。

电脑厂商通常都是拿着intel或者AMD的CPU自己完善外围电路,就可以推出自己品牌的电脑。

类似地,ST公司拿着ARM公司设计的内核,再完善外围电路,整个封装起来,就变成了STM32

其他厂商拿着ARM的内核所做出来的芯片,叫做基于ARM内核的芯片

2、第二条

STM在各个项目的运用:

  1. 循迹小车

用STM32读取光电传感器或者摄像头的数据,然后驱动电机进行前进和转弯

  1. 无人机

用STM32读取陀螺仪加速度计的姿态数据,根据控制算法去控制电机的速度,从而保证飞机的稳定运行

  1. 机器人

用STM32驱动舵机,去控制机器人的关节,然后让机器人运动

  1. 无线通信

给STM32连接上一些2.4G无限模块或者蓝牙、WIFI模块,这样STM32就可以具备无线通信的能力了

  1. 物联网

借助这些无线模块进行通信,比如蓝牙、WIFI、ZigBee,再通过STM32驱动继电器来控制220V电路的通断

  1. 工业控制

用于工业控制的PLC,其内部的主控就是一块STM32

  1. 娱乐电子产品

爱心流水灯

3、第三条

无可展开部分,略

4、右边图像

这是单片机的家族

分为四个系列:

高性能系列、主流系列、超低功耗系列和无限系列

对应着不同的产品

比如高性能系列就有

STM32F2、F4、F7、H7

下面是简介,CoreMark就是内核跑分,跑分越高,性能越好

Cortex-M3内核就是ARM的其中一种内核芯片

右边这个STM32H7就是目前最强的STM32芯片

本次教程采用STM32F1系列,是主流系列的产品

二、ARM简介

在这里插入图片描述

IP提供商就是只设计ARM内核而不生产实物,实际的内核时各大半导体产商连同芯片一起制作的

ARM内核与参数

可以看到,ARM内核主要分为三类
其中我们只需要了解Application下的M子系列即可,因为这些是用于单片机的内核

在这里插入图片描述

RAM:运行内存 (实际的存储介质是SRAM)

ROM:程序存储器(实际的存储介质是Flash闪存)

注意如果要用5V电压给STM32供电,必须加一个稳压芯片,把电压降到3.3V,再给STM32供电

封装是LQFP48,有48个引脚

外设

在这里插入图片描述

片上资源,又叫做外设(Peripheral)

下面这个表就是STM32F1系列的外设资源。我们主要学习的就是STM32的外设。通过程序配置外设,完成我们想要的功能

其中两个深颜色的,是位于Cortex-M3内核里面的外设,剩下的都是内核外的外设

以下名词轰炸部分一定要一字不落的手敲!囫囵吞枣即可

  1. NVIC,是内核中用于管理中断的设备,比如配置中断优先级

  2. SysTick,给操作系统提供定时服务。STM32是可以加入操作系统的,比如FreeRTOS、UCOS等,如果用了这些操作系统,就需要SysTick提供定时来进行任务切换的功能,但本课程不涉及操作系统。我们可以用这个定时器完成Delay函数的功能

  3. RCC可以对系统的时钟进行配置。在STM32中,其他的这些外设在上电的情况下默认是没有时钟的,不给时钟的情况下,操作外设是无效的,外设也不会工作,这样的目的是降低功耗。所以在操作外设之前,必须要enable它的时钟。这就需要我们用RCC来完成时钟的使能

  4. GPIO就是通用的IO口,我们可以用GPIO来点灯,读取按键等

  5. AFIO是复用IO口,可以完成复用功能端口的重定义,还有中断端口的配置

  6. EXTI是外部中断,配置好外部中断后,当引脚有电平变化时,就可以触发中断,让CPU来处理任务

  7. TIM是定时器,是整个STM32最常用、功能最多的外设。TIM分为高级计时器、通用定时器、基本定时器三种类型。其中高级计时器最复杂,常用的是通用定时器。这个定时器不仅可以完成定时中断的任务,还可以完成测频率、生成PWM波形、配置成专用的编码器接口等功能。像PWM波形*,就是我们电机驱动、舵机驱动最基本的要求了

  8. ADC是模数转换器。这个STM32内置了12位的AD转换器,可以直接读取IO口的模拟电压值,无需外部连接AD芯片,使用非常方便

  9. DMA是直接内存访问,这个可以帮助CPU完成搬运大量数据这样的繁杂任务

  10. USART是同步或异步串口,我们平常用的UART异步串口的意思 。这里的USART则是两者都支持,然而后者用的比较多。

  11. I2C和SPI是非常常用的两种通信协议STM32也内置了它们的控制器,可以用硬件来输出时序波形,更高效。当然也可以用通用IO口模拟时序波形也是没有问题的

  12. CAN和USB也都是通信协议,前者一般用于汽车领域。后者可以用于制作模拟鼠标、模拟U盘等设备

  13. RTC是实时时钟,在STM32内部完成年月日、时分秒的计时功能,而且可以接外部备用电池,即使掉电也能正常运行

  14. CRC校验,是一种数据的校验方式,用于判断数据的正确性。有了这个外设的支持,进行CRC检验就会更加方便一些

  15. PWR电源控制,可以让芯片进入睡眠模式等状态,来达到省电的目的

  16. BKP备份寄存器,这是一段寄存器,当系统掉电时,仍可用备用电池保持数据,这个根据需要,可以完成一些特殊功能

  17. IWDG和WWDG是独立看门狗和窗口看门狗。当单片机因为电磁干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定

  18. DAC是数模转换器,可以在IO口直接输出模拟电压,是ADC模数转换的逆过程

  19. SDIO是SD卡接口,可以用来读取SD卡

  20. FSMC是可变静态存储控制器,可以用于扩展内存,或者配置成其他总线协议,用于某些硬件的操作

  21. USB OTG就是USB主机接口,用OTG功能,可以让STM32作为USB主机去读取其他USB设备

芯片的命名规则

在这里插入图片描述
在这里插入图片描述

STM32------>基于ARM核心的32位微控制器现在还有一种比较常用的型号,叫STM32F103RCT6,对照这个表可以知道,这个RCT6的芯片是64脚256k的FlashLQFP封装-40~85℃这样的参数

芯片的系统结构

在这里插入图片描述

这个结构看起来比较复杂,大概留个印象即可

我们可以把这个图分为4个部分
在这里插入图片描述

II区域~I区域

在左上角这个部分就是Cortex-M3的内核,内核引出来了三条总线,分别是

ICode总线,DCode总线,System系统总线。

  1. ICode总线和DCode总线主要是用来连接Flash闪存的Flash存储的就是我们编写的程序。ICode指令总线就是用来加载程序指令的,DCode数据总线是用来加载数据的,比如常量和调试数据这些
  2. System系统总线连接到了这些其他的东西上面,

II~IV区域

比如SRAM,用于存储程序运行时的变量数据,还有FSMC,但是这个本课程的芯片不会用到。下面的AHB(先进高性能总线)系统总线一般用于挂载最基本的或者性能比较高的外设,比如复位和时钟控制这些最基本的电路,还有SDIO,也是挂载在AHB上的。

再后来就是两个桥接,接到了APB2APB1两个外设总线上,APB(先进外设总线)用于连接一般的外设。
因为AHBAPB的总线协议、总线速度、还有数据传送格式的差异,所以中间需要加两个桥接,来完成数据的转换和缓存

AHB的整体性能比APB高一些,其中这个APB2的性能有比APB1高一些。APB2一般是和AHB同频率,都是72MHzAPB1一般是36MHz,所以APB2连接的都是一般外设中稍微重要的部分,比如GPIO端口,还有一些外设的一号选手,比如UASRT1SPI1TIM1TIM8

这个TIM8TIM1一样,也是高级定时器,所以也是重要的外设。

还有ADCEXTIAFIO,也是接在APB2上面的。

那像这些2、3、4、5号外设,还有DACPWRBKP等,这些是次要一点的外设,都会分配到APB1上去

IV区域主要就是外设的种类和分布

III区域

这个DMA可以把它当作内核CPU的小秘书,比如有一些大量的数据搬运的活,让CPU来干的话就太浪费时间了。

比如我有个外设ADC模数转换,这个模数转换可以配置成连续模式,比如每1ms转换一次,转换完的数据必须得转运出来,否则数据就会被覆盖丢失。如果让CPU来干这活,那CPU每过1ms就得来转运一下数据,这样会费时费力,影响CPU的正常工作。DMA就负责这些简单且反复要干的事情

DMA通过DMA总线连接到总线矩阵上,它可以拥有和CPU一样的总线控制权,用于访问这些外设小弟。当需要DMA搬运数据时,外设小弟就会通过请求线发送DMA请求,然后DMA就会获得总线控制权,访问并转运数据。整个过程都不需要CPU的参与

芯片的引脚定义

一般我们拿到一个新的芯片时,需要着重的看一下它的引脚定义,有的时候,看完了引脚定义,我们就大概知道这个芯片是怎么使用的了
在这里插入图片描述
局部放大图

这个就是C8T6这个芯片的引脚序号引脚名称的示意图

在左上角有个小黑点,代表它左边的引脚是1号引脚,然后逆时针依次排列,直到48号引脚
在这里插入图片描述
下面这个表就是每个引脚的名称和功能

在这里插入图片描述在这里插入图片描述在这里插入图片描述
橙色的是电源相关的引脚,蓝色的是最小系统相关的引脚,绿色的是IO口、功能口这些引脚

首先看一下表头,前两列是引脚号引脚名称

接着是类型S表示电源,I表示输入,O代表输出,IO代表输入输出

I/O口电平 代表IO口所能容忍的电压,这里有FT的,代表能容忍5V的电压,没有FT的,只能容忍3.3V的电压。如果没有FT的需要接5V的电平,就需要加装电平转换电路

主功能就是上电后默认的功能,一般和引脚的名称相同。如果不同,那么实际功能是主功能而不是引脚名称的功能

默认复用功能IO口上同时连接的外设功能引脚。这个配置IO口的时候可以选择是通用IO口还是复用功能

最后一个是重定义功能,这个的作用是,如果有两个功能同时复用在了一个IO口上,而你确实需要用到这两个功能,那你可以把其中一个复用功能重映射到其他端口上,当然前提是,这个重定义功能的表里有对应的端口

关于IO口的介绍

  1. 第1号引脚VBAT,它是备用电池供电的引脚,在这个引脚可以接一个3V的电池,当系统断电时,备用电池可以给内部的RTC时钟备份寄存器提供电源
  2. 第2号引脚IO口或者侵入检测或者RTCIO口可以根据程序输出或读取高低电平,是最基本也是最常用的功能了。侵入检测可以用来做安全保障的功能。比如你的产品安全性比较高,可以在外壳加一些防拆的触点,然后接上电路这个引脚上。如果有人强行拆开设备,那触点断开,这个引脚的电平变化就会触发STM32的侵入信号,然后就会清空数据来保证安全。RTC的引脚可以用来输出RTC校准时钟RTC闹钟脉冲或者秒脉冲
  3. 第3、4号引脚IO口或者接32.768KHz的RTC晶振
  4. 第5、6号引脚接系统的主晶振,一般是8MHz的,然后芯片内部有锁相环电路,可以对这个8MHz的频率进行倍频,最终产生72MHz的频率,作为系统的主时钟
  5. 第7号NRST是系统复位引脚N代表它是低电平复位的
  6. 第8、9号引脚是内部模拟部分的电源,比如ADC、RC振荡器等,VSS是负极,接GNDVDD是正极,接3.3V
  7. 第10~19号引脚都是IO口,其中PA0还兼具了WKUP的功能,这个用于唤醒处于待机模式的STM32
  8. 第20号引脚是IO口或者BOOT1引脚BOOT引脚是用来配置启动模式的(等会补充)。此外,没有加粗(图中字体)的IO口,可能需要进行配置,或者兼具其它功能,使用时需要留意一下
  9. 第21~22号也都是IO口
  10. 第23、24的VSS_1VDD_1时系统的主电源口,同样的,VSS是负极,VDD是正极。另外下面还有VSS_2、VDD_2、VSS_3、VDD_3,都是系统的主电源口。这里STM32内部采用了分区供电的方式,所以供电口会比较多,在使用时,把VSS都接GND,VDD都接3.3V即可
  11. 第25~33号都是IO口
  12. 第34号加上37~40,都是IO口或调试端口,上面默认的主功能是调试端口,调试端口就是用来调试程序和下载程序的。这个STM32支持SWDJTAG两种调试方式。SWD需要两根线,分别是SWDIOSWCLKJTAG需要5根线,分别是JTMS、JTCK、JTDI、JTDO、NJTRST。我们教程使用的是STLINK来下载调试程序,STLINK用的是SWD的方式,所以只需要占用PA13PA14这两个IO口。在使用SWD的调试方式时,剩下的PA15、PB3、PB4可以切换为普通IO口来使用,但要在程序中进行配置,不配置的话默认是不会用作IO口
  13. 第42、43、45、46号都是IO口
  14. 最后的44号BOOT0,和刚刚介绍的BOOT1一样,也是用来做启动配置的

STM32的启动配置

启动配置是刚刚讲的BOOT0BOOT1两根引脚的功能

这个启动配置的作用就是指定程序开始运行的位置
在这里插入图片描述

一般情况下,程序都是在Flash程序存储器开始执行,但是在某些情况下,我们也可以让程序在别的地方开始执行,用以完成特殊的功能

STM32F10xxx里,可以通过配置BOOT0BOOT1引脚,来选择三种不同的启动模式

  1. BOOT0引脚为0,就是接地的意思,这个时候BOOT1接x(就是无论接什么),启动模式都是主闪存存储器的模式。这时候主闪存存储器被选为启动区域,也就是正常的执行Flash闪存里面的程序,这个模式是最常用的模式,一般情况下都是这个配置
  2. BOOT1接0,BOOT0接1(接1就是接到3.3V电源正的意思),那启动模式就是系统存储器(说明是系统存储器被选为启动区域)。这个模式就是用来做串口下载用的。这个系统存储器存的就是STM32中的一段BootLoader程序——作用就是接受串口的数据,然后刷新到主闪存中,这样就可以使用串口下载程序了。一般我们需要串口下载程序的时候会配置到这个模式上。

// 那我们什么时候需要用到串口下载呢

我们可以看到这个引脚定义表,第34、37~40号是调试端口,它们既可以用来下载程序,也可以作为普通IO口使用。如果我们在程序中把这5个端口全部配置成了IO口,那这就坏了,因为这个芯片没有调试端口了,也就下载不了程序了,所以,在配置这几个端口的时候要小心一点,不要把他们全部变成普通IO口了,那如果全部变成IO口了,下载不进去程序了,这时候需要用到串口的方式下载程序了。如果想使用串口下载,就需要配置BOOT1为0,BOOT0为1。总而言之,没有调试端口(用来下载程序)时,就需要用到串口下载

//当然串口下载也不光是用来救急的

如果你没有STLINK,也没有JLINK,那就可以使用串口来进行下载程序,这样就多了一种下载程序的方式。后续会提到串口下载的操作

在这里插入图片描述

  1. BOOT1接1,BOOT0接1,这时配置的是内置SRAM启动,这个模式主要用来进行程序调试的。不会用到,略。

  2. 最后一段话:在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1BOOT0引脚的状态,来选择在复位后的启动模式
    //意思就是:BOOT引脚的值是在上电复位后的一瞬间有效的,之后就随便了。在这个引脚定义中我们可以看到,这个BOOT1PB2是在同一个引脚上的,也就是在上电的瞬间,是BOOT1的功能,当第4个时钟过之后,就是PB2的功能了

对以上引脚定义BOOT引脚的配置的学习后,我们对这个芯片的用法就大概有思路了

引脚定义表里,如果我们想让STM32正常工作,那么首先就需要把电源部分最小系统部分的电路连接好,也就是表中标橙色蓝色的部分。

上面已经把引脚的功能都介绍了,接下来就可以看一下STM32最小系统电路了

最小系统电路

在这里插入图片描述

一般来说,我们单片机只有一个芯片是无法工作的,我们需要为他连接最基本的电路,这些最基本的电路就叫做最小系统电路
在这里插入图片描述

STM32及供电

右边这一部分就是STM32及供电的部分,其中我们可以看到,这三个分区供电主电源模拟部分电源都连接了供电引脚

VSS(负极)都连接了GNDVDD(正极)都连接了3V3。在3V3和GND之间,一般会连接一个滤波电容,这个电容可以保证供电电压的稳定,像我们在设计电路的时候,一般只要遇到供电,都会习惯性的加上几个滤波电容。当然加这个滤波电容也是非常有必要的,大家设计电路的时候可以注意一下。
在这里插入图片描述
剩下还有一个VBAT,是接备用电池的,如果需要接备用电池,那就这样来接。可以选择一个3V的纽扣电池,正极接VBAT,负极接GND就行了。

备用电池是给RTC备份寄存器服务的,如果不需要这些功能,就不用接备用电池,那这个VBAT直接接3V3即可,或者悬空也是没问题的

在这里插入图片描述
这就是整个供电的部分,可以说STM32的供电还是比较多的,而且芯片四周都有供电引脚,这个要是自己画板子的话,就会深有体会啊,这个供电实在是有点多,走线还是很头疼的,但是虽然头疼,还是要把这些供电都接好。

晶振电路

在这里插入图片描述
这是一个典型的晶振电路,在这里接了一个8MHz主时钟晶振STM32主晶振一般都是8MHz8MHz经过内部锁相环倍频,得到72MHz的主频

这个晶振的两个引脚分别通过这两个网络标号,接到STM32的5、6号引脚,另外还需要接两个20pF的电容,作为启震电容,电容的另一端接地即可。

这就是晶振电路,如果你需要RTC功能的话,还需要再接一个32.768kHz晶振OSC32),电路和这个一样,接在3、4号引脚.为什么要用32.768kHz的呢,因为327682^15,内部RTC电路经过2的15次方分频**,就可以生成1s的时间信号了**
在这里插入图片描述

复位电路

这个复位电路是一个10k的电阻和0.1uF的电容组成的,它用来给单片机提供复位信号
在这里插入图片描述
这中间的NRST接在STM32的7号引脚.NRST低电平复位的,当这个复位电路在上电的瞬间,电容是没有电的。电源通过电阻开始向电容充电,并且此时电容呈现的是短路状态,那NRST就会产生低电平

当电容逐渐充满电时,电容就相当于短路

当电容逐渐充满电时,电容就相当于断路,此时NRST就会被R1拉为高电平,那上电瞬间的波形就是先低电平,然后逐渐高电平

这个低电平就可以提供STM32上电复位信号。当然电容充电还是非常快的,所以在我们看来,单片机就在上电的一瞬间复位了,这就是复位电路的作用

电容左边还并联了一个按键,这个可以提供一个手动复位的功能,当我们按下按键时,电容放电,并且NRST引脚也通过按键直接接地了,这就相当于手动产生了低电平复位信号,按键松手后,NRST又回归高电平,此时单片机就从复位状态转为工作状态。平时我们也可以见到这种复位按键,一般在设备上有一个小孔

当设备死机并且还不方便断电重启时,我们就可以拿个针戳一下这个小孔里的按键,这样就会使设备复位了

这就是手动复位的意思,按下按键,程序就从头开始的意思

在这里插入图片描述

启动配置电路

在这里插入图片描述

这个H1相当于开关的作用,拨动这个开关,就可以让BOOT引脚选择接3.3V还是GND

在我们这个最小系统板上,使用的是这种跳线帽来充当开关的功能在这里插入图片描述

跳线帽插在左边两个脚时,就相当于接地
在这里插入图片描述
插在右边两个脚时,就相当于接3.3V,这样就可以配置BOOT高低电平

在这里插入图片描述
当然如果你要自己设计电路的话,接一个拨码开关也是没问题的,这样比插跳线帽还方便一些

下载端口电路

如果你是用STLINK下载程序的话,那需要把SWDIOSWCLK这两个引脚引出来方便接线,另外再把3.3VGND引出来,这个GND是必须引出来的,3.3V如果你自己板子有供电的话,可以不引。不过建议都引出来,这样方便一些
在这里插入图片描述
这些就是有关最小系统电路的内容了,如果自己画板子的话,可以参考一下这个电路。

当然如果你是用STM32最小系统板来设计电路的话,就不需要这个最小系统了,因为这个最小系统板已经包含了这些电路了

在b站@江协科技的STM32资料中给出了一个STM32的最小系统原理图,我们来看看不同之处

概览:在这里插入图片描述
左上角是复位电路,一致
在这里插入图片描述

第二个是BOOT配置电路,也是一样的
在这里插入图片描述
第三个接了两个测试的LED
上面这个直接接到了VCC3V3GND,是电源指示器

下面这个接到了PC13,是一个IO口的测试灯
在这里插入图片描述
第四个的下载电路也是一样的,在这个供电也加了一个电源滤波,这个作用也是稳定供电
在这里插入图片描述
这是一个稳压芯片,用于给5V的电降到3.3V,给STM32供电。

左边的输入是USB5V电源,右边输出的是3.3V
在这里插入图片描述
有两个引脚的排针P3、P4.这两个排针把芯片的引脚都引出来,方便我们接线的

在这里插入图片描述
在这里插入图片描述
中间这个大的是STM32F103C8T6的芯片
在这里插入图片描述
右上角和左下角是四个STM32供电的滤波电容
在这里插入图片描述
在这里插入图片描述
左边是USB的接口,它接的PA11PA12STM32USB引脚,可以进行USB通信,另外这个USB还可以提供5V的供电,这个电经过我们刚才介绍的这个稳压芯片,降到3.3V,剩下的电路都是3.3V的供电
在这里插入图片描述
最后就是这两个晶振电路了。

上面一部分是32.768kHz晶振,接到了STM32PC14PC15,这两个引脚就是OSC32得到那两个引脚

下面这一部分是8MHz主时钟晶振,接的是STM32OSC这两个引脚
在这里插入图片描述
最后我们再看一下这个最小系统板的实物图,大概的认识一下板子上的元件

在这里插入图片描述

中间的黑色小芯片,就是STM32F103C8T6在这里插入图片描述
左边这两个跳线帽,是用来配置BOOT引脚的

下面那个是复位按键
在这里插入图片描述
再左边就是这个USB接口,它可以进行USB通信,也可以为板子供电
在这里插入图片描述
STM32F103C8T6 右边这个金属外壳的是8MHz主时钟晶振,它的右边是32.768kHzRTC晶振,再右边是两个LED。上面的LEDPWR****电源指示灯,下面这个LED是接在PC13口的测试灯.

最右边的是SWD的调试接口,用来下载程序的

上下两排是用于接线的排针
在这里插入图片描述
看下背面

这个5个脚的小芯片,就是3.3V稳压芯片
在这里插入图片描述
剩下的就是电容电阻这些小元件了在这里插入图片描述

三、总结

我们把

STM32的基本情况、ARM内核、参数、外设、命名规则、系统结构、引脚定义、最小系统

都介绍了,这些就是有关于STM32的最基本的介绍

http://www.dtcms.com/a/573333.html

相关文章:

  • 2.2.6【2020统考真题】
  • Doris 并入CMP7(类Cloudera CDP 7.3.1 404华为鲲鹏ARM版)的方案和实施源代码
  • Vue3项目实战:从0到1开发企业级中后台系统(3):架构核心!手把手封装Axios、Pinia、Router
  • Spark on Yarn安装部署
  • 建设系统网站怎么做自然优化
  • 国产化数据库选型深度剖析:金仓KES与达梦DM全生命周期成本对比
  • Java 读取 Word 文本框中的文本和图片:Spire.Doc for Java 实践指南
  • 网站建设开发定制微信网站如何做
  • 商城项目业务总结
  • 安卓16提前发布能否改写移动生态格局
  • JVM :内存、性能调优与 JIT
  • JVM问题排查流程
  • 仲恺做网站wordpress屏蔽功能org
  • AI视频创作工具汇总:MoneyPrinterTurbo、KrillinAI、NarratoAI、ViMax
  • 部署我的世界-java版服务器-frp内网穿透
  • Eureka 注册中心原理与服务注册发现机制
  • Unity使用RVM实现实时人物视频抠像(无绿幕)
  • 物联网传感器环境自适应校准与精度补偿技术
  • 【低空安全】低空安防威胁与挑战
  • 微网站建设包括哪些iis5.1怎么新建网站
  • 45_AI智能体核心业务之Agent决策流程管理器:构建智能对话系统的工作流引擎
  • wordpress api定制济南seo公司案例
  • vscode运行ipynb文件:使用docker中的虚拟环境
  • 网站布局有哪些企业网站源码怎么获取
  • 如何科学地对单片机进行AI性能测试:指标、方法与实战
  • 软件设计师-树-叶子结点个数
  • 饭店网站模板北京网站制作郑州
  • 小型企业网站建设公司株洲网上房地产
  • 数据中台的核心功能包含哪些?基本思路建设思路是什么?
  • 牛网网站建设网站内容优化关键词布局