第29天 MCU入门
目录
MCU介绍
MCU的组成与作用
电子产品项目开发流程
硬件开发流程
常用元器件初步了解
硬件原理图与PCB板
常见电源符号和名称
电阻
电阻的分类
贴片电阻的封装说明:
色环电阻的计算
贴片电阻阻值计算
上拉电阻与下拉电阻
电容
电容的读数
二极管
LED 灯电路
钳位作用
三极管
在NPN三极管中
在PNP三极管中
MOS管
晶振
光耦
运放电路
MCU 最小系统电路
复位电路
晶振电路
蜂鸣器电路
继电器电路
继电器的基本组成部分及工作原理
触点解释
电机驱动芯片
学习过程中,注意遇到问题、分析问题:
- 问题发生前都改了什么,增加了什么,逐步打开
- 控制变量观察
MCU介绍
我们知道CPU是计算机控制器,而MCU就是微控制器。
边缘计算--终端
边缘计算相对于云计算,是一种将计算任务在靠近数据源或用户端的设备上进行处理的计算模式。
终端这里指网络边缘的设备端点,是数据的产生源或最终的接受处理点。
- 比如在一个物联网(IoT)场景下的智能摄像头系统中,摄像头本身(作为终端设备)内置了 MCU。这个 MCU 可以对摄像头捕捉到的视频数据进行初步的边缘计算,如进行简单的图像识别(比如识别是否有物体移动),而不是将所有的视频数据都传输到云端服务器进行处理。这样可以减少网络带宽的占用,同时也能更快地对本地事件做出响应。
MCU主要做数据采集、数据处理及控制。与底层传感器、电机等设备接触。
MCU底层的通信及接口比较多。
MCU的组成与作用
单片机的构成:CPU内核、总线、片上外设、IO跟外部外设进行通信的引脚、RAM、ROM
最小系统组成:电源电路、下载接口电路、时钟电路、复位电路
- 电源电路:给芯片提供电源
- 下载接口电路:给芯片烧录代码
- 时钟电路:给芯片提供时钟频率
- 复位电路:让芯片复位
只有一个单片机不够作为一个产品,需要芯片+外部电路构成+外壳+软件功能
另外,需要了解常用的STM32F103RCT6 是 Cortex_M3 V7 架构; STM32F103ZET6 是 Cortex_M3 V7 架构
电子产品项目开发流程
项目市场调查->项目需求分析->产品的总体设计方案->产品的软硬件设计
硬件开发流程
硬件产品要求->硬件总体设计方案->电路原理图设计->PCB设计->PCB加工文件制作与PCB打样->硬件产品焊接与调试->硬件产品测试
常用元器件初步了解
硬件原理图与PCB板
PCB板:分为单面板、双面板、四层板
双面板是主流使用的类型,比较好抄板,打板也比较便宜
常见电源符号和名称
- VCC:接入电路的电压
- GND:电线接地端。代表地线,其实也就是电源的负极。
- VDD:期间内部的工作电压(接电源)。其中D=device器件的意思
- VSS:电路公共接地端电压(接地)。
- DGND:数字地,数字电路中的地(也称为逻辑地,是各种开关量、数字量信号的零电位)。
- AGND:模拟地,模拟电路中的地(各种模拟量信号的零电位)。
-
VDDA:专门用于给模拟电路供电的正电源电压。在一些微控制器中,这个电压可能被用来给内部的ADC(模数转换器)或其他模拟外设供电。
-
VSSA:与VDDA相对应,它是专门为模拟电路提供的地线,确保模拟部分有干净的接地参考。
-
VBAT:电池电压输入端,通常用于便携式设备或需要电池供电的应用中。它可以直接连接到电池的正极。
-
VREF+ 和 VREF-:这些是参考电压输入端,用于提供精确的电压参考给某些电路,如ADC或DAC。VREF+通常表示正参考电压,而VREF-则表示负参考电压或地。
电阻
电阻器R是一个限流元件。电阻元件的电阻值大小一般与温度、材料、长度和横截面积有关。
单位(Ω) MΩ、 KΩ 、Ω 、mΩ
1MΩ = 1000KΩ
1KΩ = 1000Ω
电阻的分类
在用途方面,电阻可以分为热敏电阻、光敏电阻、力敏电阻、湿敏电阻、压敏电阻、磁敏电阻、气敏电阻。
贴片电阻的封装说明:
封装跟实际外观的关联性很大 1mil=0.001英寸
0805封装电阻 80mil 50mil
1mil==0.0254mm 1mm==39.37mil
0201 0402 0603 0805都是常用的封装
0805 宽 80*1mil=80*0.0254mm 高 50*1mil=50*0.0254mm
色环电阻的计算
色环:四色环和五色环
划分:底数+幂指数+精度
四色环:2+1+1
五色环:3+1+1
精度环一般和其他色环相距较远
红红黑金 220 5% 22*10^0 = 22R 5%
黄紫黑橙棕 4703 1% 470K 1%
贴片电阻阻值计算
5%精度 100Ω的电阻 95Ω--105Ω都算正常的
3 位数:5%精度 202 20*10^2 = 2000Ω = 2KΩ
4 位数:1%精度 2002 200*10^2 = 20KΩ
数据分成:底数+幂指数
3 位:2+1 精度 5%
4 位:3+1 精度 1%
例子:
202:20*10^2 = 2000Ω = 2KΩ
510:51*10^0 = 51Ω
4121:412*10^1 = 4120Ω = 4.12KΩ
472:47*10^2=4700Ω = 4.7KΩ
4701:470*10^1=4.7KΩ
105:10*10^5
204: 20*10^4
有 0 欧姆的电阻--隔离使用或者调试使用
上拉电阻与下拉电阻
上拉电阻:将一个不确定的信号,通过一个电阻与电源 VCC 相连,固定在高电平
下拉电阻: 将一个不确定的信号,通过一个电阻与 GND 相连,固定在低电平
电容
电容器在调谐、旁路、耦合、滤波等电路中起着重要的作用。
铝电解电容和钽电容是区分正负的
贴片瓷片电容不区分正负
贴片瓷片电容可以和贴片电阻共用封装
常用单位:μF(微法),nF(纳法), pF(皮法)
1F=10^6uF=10^9nF=10^12pF
电容的读数
瓷片电容:472 104 【料盘】
104 = 10 * 10^4 pf = 100000pf =100nf= 0.1uf
472 = 47 * 10^2 pf = 4700pf = 4.7nf
103 = 10*10^3pf=10000pf=10nf=0.01uf
106=10*10^6pf=10^4nf=10uf
224=22*10^4=220nf=0.22uf
电解电容:会直接标注 100uf/25V 220uf/16V
二极管
二极管是用半导体材料(硅、硒、锗等)制成的一种电子器件。它具有单向导电性能。
LED 灯电路
向内检测输入模式
向外控制输出模式
LED3 高电平(3.3V) LED3 不亮
LED3 低电平(GND) LED3 亮
R8 的作用 是限流电阻 一般情况下 二极管根据它的材料,通过二极管前后压降是一定的, 二极管的压降是 0.7V,低于这个电压二极管是不会导通的,高于这个电压,则会导通。在规定的正向电流 下,二极管的正向电压降。
二极管的管压降:硅二极管(不发光类型)正向管压降 0.7V,锗管正向管压降为 0.3V,发光二极管正向管压降 会随不同发光颜色而不同。
主要有三种颜色,具体压降参考值如下:红色发光二极管的压降为 2.0--2.2V,黄色发光二极管的压降为 1.8—2.0V,绿色发光二极管的压降为 3.0—3.2V,正常发光时的额定电流约为 20mA。
钳位作用
假如:红色发光二极管,红色二极管压降 2V,
R4 的电流:I=(3.3V2V)/330Ω=0.004A=4mA
R4 和 LED1串联,电流相等
三极管
三极管,全称应为半导体三极管,也称双极型晶体管、晶体三极管,是一种控制电流的半导体器件。其作用 是把微弱信号放大成幅度值较大的电信号,也用作无触点开关。
三极管是在一块半导体基片 上制作两个相距很近的 PN 结,两个 PN 结把整块半导体分成三部分,中间部分是基区,两侧部分是发射区和集 电区,排列方式有 PNP 和 NPN 两种。
顺着箭头的方向为PN节的方向
在NPN三极管中
导通压降:锗:0.3V 硅:0.7V
导通条件:BE
认为的导通:CE
真正的导通:BE CE
在PNP三极管中
可以看成有两个PN结
控制三极管导通与截至==控制BE的PN结
导通和截至==CE的导通和截至
常见的三极管电路
单片机引脚 高电平蜂鸣器响
单片机引脚 低电平蜂鸣器不响
PN 结的导通压降:0.742V
R1 的电流 (3.3V-0.742V)/1K
R2 的电流 0.742V/10K
PN 结的电流 R1的电流-R2的电流
MOS管
场效应管分为 PMOS 管(P 沟道型)和 NMOS(N 沟道型)管,属于绝缘栅场效应管。
G:栅极
S:源极
D:漏极
MOS 管的主要原理是能够控制源极和漏极之间的电压和电流。它的工作原理几乎就像一个开关,设备的功 能基于 MOS 电容。MOS 电容是 MOS 管的的主要部分。 当漏源电压(VDS)连接在漏极和源极之间时,正电压施加到漏极,负电压施加到源极。
N 沟道:UGS > 电压值 --》看对应的产品手册
P 沟道:UGS > -电压
晶振
无源晶振:两个信号引脚
有源晶振:只有一个信号引脚
单片机如果选择使用外部时钟,提供晶振 RTC 需要外部晶振,也需要提供一个给他 32.768KHZ
光耦
(1)隔离使用 (2) 电平转换
运放电路
根据“虚短” VP=V-
根据“虚断” V-这一点的电压等于 R2 两端的分压
V-=R2/(R1+R2)*VO
两个式子联立 VO=(R1+R2)/R2*VP
MCU 最小系统电路
首先来看看STM32名字中的每个字符都代表着什么
让单片机能够工作的最简单的电路:电源、芯片、晶振、复位、下载
电源:DC 1.8(低功耗) 3.3V(32 单片机) 5V(51 单片机)
芯片:自己选型,根据实际的硬件资源需求
晶振:提供时钟源
复位:让程序可以从头开始运行
下载接口: JTAG/SWD(下载接口)
J-link ST-link Ulink(下载器)
ISP 下载(串口):STM32 只能使用串口 1 进行程序下载,下载的时候需要调节 BOOT0,BOOT1 的引脚电平
复位电路
单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始 执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自 动从头开始执行。
STM32单片机:低电平复位
51单片机:高电平复位
晶振电路
为芯片提供外部时钟,提供外部时钟来源:外部高速时钟和外部低速时钟。 晶振+谐振电容
蜂鸣器电路
蜂鸣器响:1.不响:0
无源蜂鸣器:------------
有源蜂鸣器:高低电平、0/1
继电器电路
继电器是一种电控开关,它利用电磁原理来控制电路的通断。继电器的主要作用包括但不限于以下几点:
- 低压控制高压:通过小电压和小电流控制大电压和大电流的电路,实现电气隔离。
- 直流控制交流:用直流电控制交流电的电路,适用于多种不同的应用场景。
- 低电流控制高电流:小电流控制大电流,实现功率放大。
- 带铁芯的线圈:继电器内部有一个带有铁芯的线圈,当线圈通电时会产生磁场,吸引开关动作。
- 单刀双掷开关:一种常见的继电器类型,可以将一个输入连接到两个输出中的一个。这种继电器具有三个主要的触点:公共触点、常开触点和常闭触点。
继电器的基本组成部分及工作原理
- 线圈(Coil):当给继电器的线圈施加适当的电压时,线圈会产生磁场。
- 铁芯(Core):线圈产生的磁场会使铁芯磁化,产生吸引力。
- 衔铁(Armature):受到铁芯磁力的作用,衔铁会移动,从而带动触点的动作。
- 触点(Contacts):继电器的触点分为常开触点(NO, Normally Open)和常闭触点(NC, Normally Closed),以及公共触点(Common)。
触点解释
- 公共触点(Common Contact):这是继电器触点的一个固定点,它可以连接到常开触点或常闭触点上,取决于继电器的状态。
- 常开触点(Normally Open Contact, NO):在继电器未激活(线圈不通电)时,公共触点与常开触点之间是断开的;当继电器激活后,公共触点与常开触点连接,形成闭合回路。
- 常闭触点(Normally Closed Contact, NC):在继电器未激活时,公共触点与常闭触点之间是连接的;当继电器激活后,公共触点与常闭触点断开,形成开路。
电机驱动芯片
BTN7971 L298N L9110S
L9110S:一路全桥+全桥控制器,可以控制 1 个直流电机正反转 8V 800ma
L298N:2 路全桥+全桥控制器,可以控制 2 个直流电机正反转 46V 4A,也可以控制步进电机
BTN7971:半桥 工作电压和电流都比较大
IR2104/EG2104:半桥控制芯片
相关文章:
第29天 MCU入门
目录 MCU介绍 MCU的组成与作用 电子产品项目开发流程 硬件开发流程 常用元器件初步了解 硬件原理图与PCB板 常见电源符号和名称 电阻 电阻的分类 贴片电阻的封装说明: 色环电阻的计算 贴片电阻阻值计算 上拉电阻与下拉电阻 电容 电容的读数 二极管 LED 灯电路 钳位作…...
【Python网络爬虫笔记】6- 网络爬虫中的Requests库
一、概述 Requests 是一个用 Python 语言编写的、简洁且功能强大的 HTTP 库。它允许开发者方便地发送各种 HTTP 请求,如 GET、POST、PUT、DELETE 等,并且可以轻松地处理请求的响应。这个库在 Python 生态系统中被广泛使用,无论是简单的网页数…...
Linux网络_网络协议_网络传输_网络字节序
一.协议 1.概念 协议(Protocol) 是一组规则和约定,用于定义计算机网络中不同设备之间如何进行通信和数据交换。协议规定了数据的格式、传输方式、传输顺序等详细规则,确保不同设备和系统能够有效地互联互通。 在网络通信中&#…...
浅谈网络 | 应用层之流媒体与P2P协议
目录 流媒体名词系列视频的本质视频压缩编码过程如何在直播中看到帅哥美女?RTMP 协议 P2PP2P 文件下载种子文件 (.torrent)去中心化网络(DHT)哈希值与 DHT 网络DHT 网络是如何查找 流媒体 直播系统组成与协议 近几年直播比较火,…...
css vue vxe-text-ellipsis table 实现多行文本超出隐藏省略
分享 vxe-text-ellipsis table grid 多行文本溢出省略的用法 正常情况下如果需要使用文本超出隐藏,通过 css 就可以完成 overflow: hidden; text-overflow: ellipsis; white-space: nowrap;但是如果需要实现多行文本溢出,就很难实现里,谷歌…...
基于hexo框架的博客搭建流程
这篇博文讲一讲hexo博客的搭建及文章管理,也算是我对于暑假的一个交代 !!!注意:下面的操作是基于你已经安装了node.js和git的前提下进行的,并且拥有github账号 创建一个blog目录 在磁盘任意位置创建一个…...
数据结构-简单排序
一.前提 二.冒泡排序 三.插入排序 #include<iostream> using namespace std; typedef int ElemengType; void Bubble_Sort(ElemengType A[], int N) {for (int p N - 1; p > 0; p--) {int flag 0;for (int i 0; i < p; i) {if (A[i] > A[i 1]) {swap(A[i], …...
三十一:HTTP多种重定向跳转方式的差异
在现代网站开发中,HTTP 重定向是一种常见的技术,用于将用户的请求从一个 URL 跳转到另一个 URL。重定向机制广泛应用于网站迁移、SEO 优化、以及内容管理系统中。不同的 HTTP 状态码代表不同的重定向方式,每种方式的行为和适用场景各有不同。…...
利用Python爬虫精准获取淘宝商品详情的深度解析
在数字化时代,数据的价值日益凸显,尤其是在电子商务领域。淘宝作为中国最大的电商平台之一,拥有海量的商品数据,对于研究市场趋势、分析消费者行为等具有重要意义。本文将详细介绍如何使用Python编写爬虫程序,精准获取…...
架构师的英文:Architect
中文版 软件架构师 的英文是 “Software Architect”。 Software: 软件Architect: 架构师,通常指的是设计和规划某种系统或结构的人。 Software Architect 通常负责软件系统的整体设计、技术选型、架构规划,确保系统的可扩展性、可维护性和高效性等。…...
数据结构 ——— 计数排序算法的实现
目录 计数排序算法的思想 计数排序算法的实现 计数排序算法的思想 遍历数组,找出数组中的最大值 max 和 最小值 min 最大值 max 减去最小值 min 再加 1 得出数组元素的范围 range 利用 range 的大小 malloc 一个 count 数组用来计数 再对 count 数组进行初始化…...
k8s搭建Istio环境,案例pod一直处在Init:CrashLoopBackOff
1 部署calico网络环境,网上去找k8s版本对应的calico的配置文件,k8s2.8.0我用的3.28 2 安装istio环境 curl -L https://istio.io/downloadIstio | sh - # 省略istioctl生效的步骤 source <(istioctl completion zsh) istioctl install --set profile…...
Jenkins升级到最新版本后无法启动
1. 场景还原 最近在web界面将jenkins升级到最新版本后,后台无法启动jenkins服务,服务状态如下: 运行jenkins命令提示invalid Java version jenkins --version jenkins: invalid Java version: java version "1.8.0_202" Java(TM)…...
用户界面创建一个新的运动类型
● 现在我们需要根据我们之前规划的架构步骤来实现在用户界面创建一个运动类型 ● 首先我们在要获取用户在表单中输入的数据 //从表单中获取数据const type inputType.value;const distance inputDistance.value;const duration inputDuration.value;● 然后针对与不同的运动…...
ubuntu防火墙入门(一)——设置服务、关闭端口
本机想通过git clone gitgithub.com:skumra/robotic-grasping.git下载代码,firewall-config中需要为当前区域的防火墙开启SSH服务吗 是的,如果你想通过 git clone gitgithub.com:skumra/robotic-grasping.git 使用 SSH 协议从 GitHub 下载代码࿰…...
分治算法——二分查找(c++)(详解)
大家好,今天进入一个实用算法:分治算法。 1.分治算法介绍 分治算法,大概就是将一个大问题拆解成若干个小问题,将小问题一一解决,大问题也就迎刃而解。它包含了多种算法,比如递归、递推等。这里就讲解一下其…...
Binder架构
一、架构 如上图,binder 分为用户层和驱动层两部分,用户层有客户端(Client)、服务端(Server)、服务管理(ServiceManager)。 从用户空间的角度,使用步骤如下(…...
大数据治理:解锁数据价值,引领未来创新
目录 引言 一、大数据治理的定义 二、大数据治理的重要性 三、大数据治理的核心组件 四、大数据治理的实践案例 1. 数据标准化 2. 数据质量管理 案例一:医疗行业的大数据治理——智能医疗助手守护健康 引言 在数字化时代,数据已成为企业最宝贵的…...
解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL扩展的问题
本文已首发于:秋码记录 若你也想搭建一个个人博客,可参考:国内 gitee.com Pages 下线了,致使众多站长纷纷改用 github、gitlab Pages 托管平台 在日新月异的信息化下,软件也在跟随着互联网的脚步,逐步推进…...
【韩顺平老师Java反射笔记】
反射 文章目录 基本使用反射机制java程序在计算机有三个阶段反射相关的主要类 反射调用优化Class类的常用方法获取Class对象的6种方式哪些类型有Class对象类加载类加载时机类加载过程图 通过反射获取类的结构信息第一组:java.lang.Class类第二组:java.la…...
Arrays.asList()新增报错,该怎么解决
一、前言 在 Java 开发中,Arrays.asList() 是一个常用的工具方法,它允许开发者快速将数组转换为列表。尽管这个方法非常方便,但许多开发者在使用时可能会遭遇一个常见的错误:尝试向由 Arrays.asList() 返回的列表中添加元素时抛出…...
【热门主题】000072 分布式数据库:开启数据管理新纪元
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【热…...
基于Springboot开发的云野旅游平台
一、功能介绍 云野旅游平台包含管理员、用户两个角色以及前后台系统。 前台系统功能 用户登录成功后,可以进行查看旅游路线、最新线路、旅游资讯、个人中心、后台管理、购物车、客服等功能模块。进行相对应操作。 后台系统功能 管理员或用户登录成功后…...
2024金盾信安杯线上赛 MISC ezpng[wp]
下载题目发现给了个password和png 图片发现损坏的 password丢随波逐流一键解 base64 给出解码的结果是 cimbar搜索发现在Github有工具 然后对附件中的图片进行小厨房xor 得到一张新图片 利用工具进行跑出答案...
搭建业务的性能优化指南
这是一篇搭建业务优化的心路历程,也是写给搭建业务的性能优化指南。 前言 直到今天,淘内的页面大多都迁移到了 SSR,从我们终端平台 - 搭建研发团队的视角看,业务大致可以分为两类 —— 搭建派 和 源码派。 这两者互不冲突…...
电脑提示报错“Directx error”怎么解决?是什么原因导致的?游戏软件提示“Directx error”错误的解决方案
DirectX Error(DX错误)通常指的是在使用基于DirectX技术的应用程序(尤其是游戏)时遇到的问题。这个问题可能由多种因素导致,以下是一些可能的原因及相应的解决方案: 可能的原因 DirectX版本不匹配&#x…...
Linux——自定义简单shell
shell 自定义shell目标普通命令和内建命令(补充) shell实现实现原理实现代码 自定义shell 目标 能处理普通命令能处理内建命令要能帮助我们理解内建命令/本地变量/环境变量这些概念理解shell的运行 普通命令和内建命令(补充) …...
基于matlab程序实现人脸识别
1.人脸识别流程 1.1.1基本原理 基于YCbCr颜色空间的肤色模型进行肤色分割。在YCbCr色彩空间内对肤色进行了建模发现,肤色聚类区域在Cb—Cr子平面上的投影将缩减,与中心区域显著不同。采用这种方法的图像分割已经能够较为精确的将人脸和非人脸分割开来。…...
Unity跨平台基本原理
Unity跨平台基本原理 Unity跨平台基本原理微软的.Net是什么微软做 .Net平台的目的如何实现的.Net跨语言?总结 .Net Framework.Net Framework的体系结构CLR总结 如何实现的跨平台?.Net Core.Net FrameWork 到 .Net CoreMonoMono如何实现跨平台总结如何实现…...
【前端开发】小程序无感登录验证
概述 封装的网络请求库,主要用于处理 API 请求并支持自动处理 token 过期 和 token 刷新,适用于需要身份验证的应用场景,特别是在移动端中。 主要功能 自动附加 Token 在每个请求中自动附加 Authorization 头部,使用存储的 acces…...
苏州网站建设营销/竞价推广代运营公司
自己做过框架的人,可能都会思考一个问题,模板引擎需要什么特性? Widgets模式,很多系统中都有出现,但对于纯开发人员,不管前端或后台人员来说,都觉得稍微麻烦了一点。因为他将界面硬生生的拆分出…...
衡水网站建立要多少钱/掉发脱发严重是什么原因
转载自:点击打开链接https://www.2cto.com/kf/201710/692967.htmlAndroid Studio 3.0 升级编译错误分析,今天Google推送了Android Studio 3.0的升级。升级完了以后,AS要求将gradle tools升级到3.0.0 classpath com.android.tools.build:gradl…...
做网站月薪10万/搜索引擎优化的内部优化
UG爱好者可可 关注微信号每天收听我们的消息 UG爱好者为您推送精品阅读大家好,我是可可老师,欢迎大家订阅UG爱好者! 今天分享UG软件鼠标和键盘操作的快捷操作方式-新手必学1.鼠标 鼠标左键:可以在菜单或对话框中选择命令或选项,也…...
做一个门户网站要多少钱/百度竞价的优势和劣势
层次遍历应用前言一、案例1、往完全二叉树添加节点2、获取每层最大值二、题解1、层次遍历2、层次遍历双队列总结参考文献附加前言 层次遍历是二叉树遍历的一种,求树宽等等应用都需要层次遍历作为基础。 一、案例 1、往完全二叉树添加节点 2、获取每层最大值 二、题…...
营销型网站推广/google引擎免费入口
为什么80%的码农都做不了架构师?>>> linux ubuntu apt-get更换源 ubuntu 的默认源是美国的,所以下载起来特别慢,作为天朝用户,自然要更换为天朝的源了。 国内有很多源可用,有些大学和公司也在维护着一…...
免费wordpress/黄石市seo关键词优化怎么做
注意:series的属性可以进一次抽离,例子中是没有抽离的,所以重复属性较多 完整代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible&…...