TI DSP TMS320F280025 Note14:模数转换器ADC原理分析与应用
TMS320F280025 模数转换器ADC原理分析与应用
`
文章目录
- TMS320F280025 模数转换器ADC原理分析与应用
- 逐次比较型ADC和双积分型ADC工作原理
- 逐次比较型 ADC
- 双积分型 ADC
- 280025ADC
- ADC原理分析
- ADC时钟
- SOC
- SOC内部原理
- ADC触发方式
- ADC采集(采样和保持)窗口
- 通道寄生电容
- 基准电压发生器模块
- 外部参考模式
- 内部参考模式
- 选择参考模式
- 后处理模块
- 偏移校正
- 设定值计算误差
- 限制和过零检测
- 触发到采样延迟捕获
- ADC优先级
- 轮转优先级
- 高优先级
- ADC中断
- 中断溢出
- 继续中断模式
- 早期中断配置模式
- ADC模拟引脚
- ADC(定时器触发采样)使用
- AdcDriver.c
- AdcDriver.h
- CPUtimers.c
- CPUtimers.h
逐次比较型ADC和双积分型ADC工作原理
逐次比较型 ADC
采用逐次逼近法的 AD 转换器是有一个比较器、 DA 转换器、 缓冲寄存器和控制逻辑电路组成, 如下图所示:
基本原理是: 从高位到低位逐次试探比较, 就像用天平秤物体, 从重到轻逐级增减砝码进行试探。 逐次逼近法的转换过程是: 初始化时将逐次逼近寄存器各位清零, 转换开始时, 先将逐次逼近寄存器最高位置 1, 送入 DA 转换器, 经 DA转换后生成的模拟量送入比较器, 称为 U0, 与送入比较器的待转换的模拟量 Ux进行比较, 若 U0<Ux, 该位 1 被保留, 否则被清除。 然后再将逐次逼近寄存器次高位置 1, 将寄存器中新的数字量送 DA 转换器, 输出的 U0 再与 Ux 比较, 若 U0<Ux,该位 1 被保留, 否则被清除。 重复此过程, 直至逼近寄存器最低位。 转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器, 得到数字量的输出。 逐次逼近的操作过程是在一个控制电路的控制下进行的。
双积分型 ADC
采用双积分法的 AD 转换器由电子开关、 积分器、 比较器和控制逻辑等部件组成。 如下图所示:
其基本原理: 将输入电压变换成与其平均值成正比的时间间隔, 再把此时间间隔转换成数字量, 属于间接转换。 双积分法 AD 转换的过程是: 先将开关接通待转换的模拟量 Vi, Vi 采样输入到积分器, 积分器从零开始进行固定时间 T 的正向积分, 时间 T 到后, 开关再接通与 Vi 极性相反的基准电压 Vref, 将 Vref输入到积分器, 进行反向积分, 直到输出为 0V 时停止积分。 Vi 越大, 积分器输出电压越大, 反向积分时间也越长。 计数器在反向积分时间内所计的数值, 就是输入模拟电压 Vi 所对应的数字量, 实现了 AD 转换。
280025ADC
TMS32F280025有两个逐次比较型ADC,分别是ADCA和ADCC,每个ADC都具有以下特点:
•12位分辨率
•比率计VREFHI设定的外部引用和VREFLO引脚
•选择内部参考2.5 v和3.3 v
•单端信号转换
•输入多路复用器,最多16个通道
•16单独结果可寻址寄存器
•16 可配置的soc
•多个触发源
•四灵活的PIE中断
•可配置中断位置
•四个PBB后处理模块,每个具有:
-偏移校准
-误差校准
-高,低和过零比较,具有中断和ePWM跳闸能力
-触发到样本延迟捕获
•优先级:轮转/高优先级
•电压处理成转换结果需要大约10.5个ADCCLK
ADC框图如图所示
1.使用ADC时设置好参考电压,配置ADC SOC通道、采样周期、触发方式;
2.当设置的触发方式触发ADC时,模拟信号首先到ADC校准和控制模块,该模块可以直接产生ADC中断;
3.然后模拟信号到输入电路模块,经过采样保持电路进行采样;
4.采样后经过转化器得到数字量;
5.该数字量会保存在对应的ADC结果寄存器中,每个SOC对应一个结果寄存器,读取该寄存器即可得到ADC转化结果,也可以用过后处理模块进行后处理再输出
ADC原理分析
ADC框图分为以下几个模块:模拟数字控制逻辑、后处理模块、模拟-数字核心模块、基准电压发生器模块、模拟系统控制、输入电路、转换、SOCx (0-15)
ADC时钟
基本ADC时钟直接由系统时钟(SYSCLK)提供。SYSCLK用于生成ADC采集窗口。寄存器ADCCTL2有一个决定adccclk的precale字段。ADCCLK用于对转换器进行时钟控制,仅在转换阶段有效。在所有其他时间,包括在采样和保持窗口期间,ADCCLK信号被门控关闭。
核心需要大约10.5个ADCCLK周期来将电压处理成转换结果。用户必须确定所需的获取窗口的持续时间
为ADCCTL2确定一个合适的值。PRESCALE,请参阅设备数据手册以确定SYSCLK和ADCCLK的最大频率
SOC
SOC在框图中的位置
SOC内部原理
每个ADC的SOC都可以设置对应的触发方式、通道和采样周期
ADC触发方式
每个SOC可以配置为在许多输入触发器之一上启动。SOCx的主要触发器选择在ADCSOCxCTL中。TRIGSEL寄存器,可以选择:
• Disabled (software only)
•CPU定时器0/1/2
•GPIO:输入X-Bar INPUT5
•ADCSOCA或ADCSOCB从每个ePWM模块
此外,每个SOC也可以在ADCINT1或ADCINT2标志设置时触发。这是通过配置ADCINTSOCSEL1寄存器(用于SOC0到SOC7)或ADCINTSOCSEL2寄存器(用于SOC8到SOC15)来实现的。
ADC采集(采样和保持)窗口
外部信号源在快速有效地驱动模拟信号的能力上各不相同。为了达到额定分辨率,信号源需要对ADC核心中的采样电容充电至信号电压的0.5 lbs以内。采集窗口是采样电容器允许充电的时间量,可通过ADCSOCxCTL配置为SOCx.ACQPSregister。
ACQPS是一个9位寄存器,可以设置为0到511之间的值,导致采集窗口持续时间:
采集窗口= (ACQPS + 1)∙(系统时钟(SYSCLK)周期时间)
•采集窗口持续时间基于系统时钟(SYSCLK),而不是ADC时钟(ADCCLK)。
•选择的采集窗口持续时间必须至少与一个ADCCLK周期一样长。
•数据表指定最小采集窗口持续时间(以纳秒为单位)。用户负责选择满足此要求的获取窗口持续时间。
通道寄生电容
每个通道的寄生电容不一样,所以如果采样速率过高的话,注意选用的通道的寄生电容是否会影响采样
基准电压发生器模块
ADC的基准电压可以位内部电压也可以位外部电压
外部参考模式
ADC模块共享VREFHI和VREFLO输入。在外部参考模式下,这些引脚用作比率参考,以确定ADC转换输入范围。
•在没有外部VREFLO引脚的设备上,VREFLO内部连接到设备模拟地,VSSA。
•请参阅设备数据表以确定VREFHI和VREFLO的允许电压范围。
•外部参考模式需要VREFHI引脚上的外部电容。具体数值请参见设备数据手册。
内部参考模式
在内部参考模式下,器件驱动电压到VREFHI引脚上。然后,VREFHI和VREFLO引脚设置ADC转换范围。
内部参考电压可配置为2.5V或1.65V。当选择1.65V内部参考电压时,在转换前将ADC输入信号内部除以2,有效地使ADC转换范围从VREFLO到3.3V。
内部参考模式还需要VREFHI引脚上的外部电容。具体数值请参见设备数据手册。
选择参考模式
电压参考模式必须通过使用ADC_setVREF()或SetVREF()函数来配置,具体取决于使用的头文件,在C2000Ware中提供。使用这些函数中的任何一个都可以确保在ADC修剪寄存器中加载正确的修剪。此函数必须在设备复位后至少调用一次。
不要通过直接写入ANAREFCTL寄存器来配置电压参考模式。
后处理模块
作用如下:
偏移校正
去除可能由外部传感器和信号源引起的与ADCIN通道相关的偏移量零开销;保存周期
设定值计算误差
减去一个参考值,该参考值可用于从设定点或预期值自动计算误差,减少样本输出延迟和软件开销
限制和过零检测
自动执行高/低限制或过零检查,可以产生一个行程到ePWM和/或中断减少样本到ePWM的延迟和减少软件开销;在没有CPU干预的情况下,基于超出范围的ADC转换触发ePWM
触发到采样延迟捕获
能够记录SOC被触发和开始采样之间的延迟,允许软件技术减少延迟错误
ADC优先级
轮转优先级
当同时设置多个SOC标志时,优先级的两种形式之一决定转换顺序。默认的优先级方法是轮循。在这个方案中,没有SOC具有比其他SOC更高的固有优先级。优先级取决于轮循指针(RRPOINTER)。反映在ADCSOCPRIORITYCTL寄存器中的RRPOINTER指向最后转换的SOC。最高优先级的SOC被分配给下一个比RRPOINTER值大的值,在SOC15之后绕回SOC0。在重置时,该值为16,因为0表示已经发生了转换。当RRPOINTER等于16时,优先级最高的是SOC0。当ADC模块复位或复位值被写入SOCPRICTL寄存器时,RRPOINTER复位。通过写入和清除与ADC实例对应的SOFTPRES位来复位ADC模块。
高优先级
ADCSOCPRIORITYCTL寄存器中的SOCPRIORITY字段可用于从单个soc分配高优先级到所有soc。当配置为高优先级时,SOC在任何当前转换完成后中断轮询轮,并插入作为下一个转换。转换完成后,在转换中断的地方继续轮询轮。如果同时触发两个高优先级的SOC,则优先级低的SOC。
高优先级模式首先分配给SOC0,然后按数字顺序递增。写入SOCPRIORITY字段的值定义了第一个优先级不高的SOC。换句话说,如果将值4写入SOCPRIORITY,则将SOC0、SOC1、SOC2和SOC3定义为高优先级,其中SOC0最高。
ADC中断
每个SOC都有相应的转换结束(EOC)信号。此EOC信号可用于触发ADC中断。ADC可以配置为在采集窗口的末端或电压转换的末端产生EOC脉冲。这是使用ADCCTL1寄存器中的INTPULSEPOS位配置的。参见15.12节了解EOC脉冲的准确位置。
每个ADC模块有4个可配置的ADC中断。这些中断可以由16个EOC信号中的任何一个触发。可以直接读取每个ADCINT的标志位,以确定相关的SOC是否完成,或者中断是否可以传递给PIE
ADCCTL1.ADCBSY位清楚并不表示一组soc中的所有转换都已完成,仅表示ADC准备处理下一个转换。要确定一个SOC序列是否完成,将ADCINT标志链接到序列中的最后一个SOC,并监视该ADCINT标志
中断溢出
如果EOC信号在ADCINTFLG寄存器中设置了一个标志,但该标志已经设置,则会发生中断溢出。
默认情况下,溢出中断不传递给PIE模块。当ADCINTFLG寄存器中的给定标志发生溢出时,将设置ADCINOVF寄存器中的相应标志。此溢出标志仅用于检测是否发生溢出;该标志不会阻止进一步的中断传播到PIE模块。
当ADC中断溢出发生时,应用程序必须检查ISR内或后台循环中适当的ADCINTOVF标志,并在检测到溢出时采取适当的行动。下面的代码片段演示了在尝试清除ADCINT标志后,如何在ISR内检查ADCINTOVF标志。
// Clear the interrupt flag
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //clear INT1 flag for ADC-A
// Check if an overflow has occurred
if(1 == AdcaRegs.ADCINTOVF.bit.ADCINT1) //ADCINT overflow occurred
{AdcaRegs.ADCINTOVFCLR.bit.ADCINT1 = 1 //Clear overflow flag AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1 //Re-clear ADCINT flag
}
//
// Clear the interrupt flag
//
ADC_clearInterruptStatus(ADCA_BASE, ADC_INT_NUMBER1);
//
// Check if an overflow has occurred
//
if(true == ADC_getInterruptOverflowStatus(ADCA_BASE, ADC_INT_NUMBER1))
{ADC_clearInterruptOverflowStatus(ADCA_BASE, ADC_INT_NUMBER1);ADC_clearInterruptStatus(ADCA_BASE, ADC_INT_NUMBER1);
}
继续中断模式
ADCINTSEL1N2和ADCINTSEL3N4寄存器中的INTxCONT位配置了当ADCINTFLG尚未从先前中断中清除时如何处理中断。默认情况下禁用此模式,并且不会向PIE发出额外的重叠中断。通过激活此模式,ADC中断总是到达PIE。如果在设置ADCINTFLG时发生中断,那么无论INTxCONT位的配置如何,ADCINTOVF寄存器都保持设置。
早期中断配置模式
启用早期中断模式可以允许应用程序在ADC结果准备好之前进入ADC中断服务程序。这允许应用程序做任何必要的前期工作,以便应用程序可以在ADC结果可用时立即对ADC结果采取行动。如果早期中断的时机太早,则应用程序需要浪费时间,直到更新的ADC结果可用为止。为了防止这种情况,ADC中断进入早期中断模式的时间可以通过ADCINTCYCLE寄存器中的DELAY字段进行配置。
•要使用可配置的中断时间,ADC必须处于早期中断模式。为了实现这一点,在ADCCTL1中将位INTPULSEPOS清除为0。
•ADCINTCYCLE寄存器中的DELAY值设置了在ADCINT标志被设置之前SOC脉冲下降沿之后额外的SYSCLK周期数。
•如果DELAY值超过EOC,则ADC中断与EOC一起产生。
•当INTPULSEPOS设置为1时,将值写入DELAY对中断的产生没有任何影响。
ADC模拟引脚
ADC引脚分配如下表
ADC(定时器触发采样)使用
AdcDriver.c
#include "main.h"//
// Defines
//
#define RESULTS_BUFFER_SIZE 5//
// Globals
//
相关文章:
TI DSP TMS320F280025 Note14:模数转换器ADC原理分析与应用
TMS320F280025 模数转换器ADC原理分析与应用 ` 文章目录 TMS320F280025 模数转换器ADC原理分析与应用逐次比较型ADC和双积分型ADC工作原理逐次比较型 ADC双积分型 ADC280025ADCADC原理分析ADC时钟SOCSOC内部原理ADC触发方式ADC采集(采样和保持)窗口通道寄生电容基准电压发生器模…...
【C++前缀和】2845. 统计趣味子数组的数目|2073
本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode 2845. 统计趣味子数组的数目 难度分:2073 给你一个下标从 0 开始的整数数组 nums ,以及整数 modulo 和整数 k 。 请你找出并统计数组…...
C++入门基础 (超详解)
文章目录 前言1. C关键字2. C的第一个程序3. 命名空间3.1 namespace的定义3.2 命名空间的嵌套3.3 命名空间使用3.4 查找优先级总结 4. C输入和输出4.1 标准输入输出 (iostream库)4.2 文件输入输出 (fstream库)4.3 字符串流 (sstream库)4.4 C格式化输出4.5 std::endl和\n的区别 …...
docker零基础入门教程
注意 本系列文章已升级、转移至我的自建站点中,本章原文为:Docker入门 目录 注意1.前言2.docker安装3.docker基本使用4.打包docker镜像5.docker进阶 1.前言 如果你长期写C/C代码,那你应该很容易发现C/C开源项目存在的一个严重问题ÿ…...
【Java SE 题库】移除元素(暴力解法)--力扣
🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 解法(快慢“指针”) 3. 源码 4. 小结 1. 题目 给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素。元素的顺…...
linux文件编程_进程
1. 进程相关概念 面试中关于进程,应该会问的的几个问题: 1.1. 什么是程序,什么是进程,有什么区别? 程序是静态的概念,比如: 磁盘中生成的a.out文件,就叫做:程序进程是…...
java NIO实现UDP通讯
NIO Udp通讯工具类 import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.DatagramChannel; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.util.Iterator;impo…...
ffmpeg如何实现视频推流?
FFmpeg是一个强大的多媒体框架,用于处理视频和音频数据。它包括了libavcodec(用于解码和编码)、libavformat(用于格式转换)、libavutil(提供一些辅助工具和函数)、libavfilter(用于音视频过滤)等多个库。 以下这些都是FFmpeg的特性 FFmpeg支持大量的音视频编解码器&…...
【HTML5】html5开篇基础(3)
1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…...
echarts实现3D柱状图(视觉层面)根据博主改编
https://blog.csdn.net/weixin_57798646/article/details/131067725 这是原贴 在这个基础上我需要实现 一根柱子 代码如下 <!DOCTYPE html> <html lang"en" style"height: 100%"><head><meta charset"utf8"> </hea…...
【一篇文章理解Java中多级缓存的设计与实现】
文章目录 一.什么是多级缓存?1.本地缓存2.远程缓存3.缓存层级4.加载策略 二.适合/不适合的业务场景1.适合的业务场景2.不适合的业务场景 三.Redis与Caffine的对比1. 序列化2. 进程关系 四.各本地缓存性能测试对比报告(官方)五.本地缓存Caffine如何使用1. 引入maven依…...
OpenSource - 开源WAF_SamWaf
文章目录 PreSafeLine VS SamWaf开发初衷软件介绍架构界面主要功能 使用说明下载最新版本快速启动WindowsLinuxDocker 启动访问升级指南自动升级手动升级 在线文档 代码相关代码托管介绍和编译已测试支持的平台测试效果 安全策略问题反馈许可证书贡献代码 Pre Nginx - 集成Mod…...
旅游避坑指南
1.火车站旁白的小摊贩,还有周边的小饭店百分之百是黑店,不仅难吃要死而且巨黑!!! 可以地图上搜索附近的大型商超,例如泰安市的银座商超,里面的东西不仅好吃而且价格透明,还有很多当…...
矩阵系统源码搭建的具体步骤,支持oem,源码搭建
一、前期准备 明确需求 确定矩阵系统的具体用途,例如是用于社交媒体管理、电商营销还是其他领域。梳理所需的功能模块,如多账号管理、内容发布、数据分析等。 技术选型 选择适合的编程语言,如 Python、Java、Node.js 等。确定数据库类型&…...
正则表达式调试工具实战
正则表达式调试工具实战 1、新建工程QWidget工程工程名RegexTool 如果QT不会配置,请参考我的博客,QT配置 Widget.cpp 默认内容如下 2、主界面设计 三行两列,每行采用HBoxLayout作为行布局控件,内部一个Lable控件和一个TextEdit控件,采用VBoxLayout 控件包裹三个HBoxLa…...
SQL:函数以及约束
目录 介绍 函数 字符串函数 数值函数 日期函数 流程函数 约束 总结 介绍 说到函数我们都不陌生,在C,C,java等语言中都有库函数,我们在平时也是经常使用,函数就是一段代码,我们既可以自定义实现,又可以使用库里内置的函数;从来更加简洁方便的完成业务;同样的在SQL中也有…...
在Linux中将设备驱动的地址映射到用户空间
本期主题: MMU的简单介绍,以及如何实现设备地址映射到用户空间 往期链接: Linux内核链表零长度数组的使用inline的作用嵌入式C基础——ARRAY_SIZE使用以及踩坑分析Linux下如何操作寄存器(用户空间、内核空间方法讲解)…...
电脑自带dll修复在哪里,dll丢失的6种解决方法总结
在现代科技日新月异的时代,电脑已经成为我们生活中不可或缺的一部分。然而,在使用电脑的过程中,我们常常会遇到一些常见的问题,其中之一就是dll文件丢失或损坏。当这些dll文件丢失或损坏时,可能会导致某些应用程序无法…...
k8s基于nfs创建storageClass
首先安装nfs #服务端安装 yum install -y nfs-utils rpcbind #客户端安装 yum install -y nfs-utils #启动服务 并设置开启启动 systemctl start rpcbind && systemctl enable rpcbind systemctl start nfs && systemctl enable nfs #创建共享目录 mkdir -p /…...
Chrome无法拖入加载.crx扩展文件(以IDM为例)
问题原因:新版本的Chrome浏览器已不支持加载.crx文件 解决办法:将.crx文件压缩为.zip文件,解压缩后再加载到Chrome中 以IDM的.crx文件作为示例; IDM的.crx文件位于C:\Program Files (x86)\Internet Download Manager; 将IDMGCE…...
数字教学时代:构建高效在线帮助中心的重要性
在数字化教学日益普及的今天,教育领域正经历着前所未有的变革。随着在线课程、虚拟教室、智能学习平台等数字化工具的广泛应用,教育资源的获取方式和学习模式发生了深刻变化。然而,这种变革也带来了新的挑战,其中之一便是如何确保…...
828华为云征文|华为云弹性云服务器FlexusX实例下的Nginx性能测试
本文写的是华为云弹性云服务器FlexusX实例下的Nginx性能测试 目录 一、华为云弹性云服务器FlexusX实例简介二、测试环境三、测试工具四、测试方法五、测试结果 下面是华为云弹性云服务器FlexusX实例下的Nginx性能测试。 一、华为云弹性云服务器FlexusX实例简介 华为云弹性云服…...
知识图谱入门——2:技术体系基本概念:知识表示与建模、知识抽取与挖掘、知识存储与融合、知识推理与检索
知识图谱是通过构建“实体”和“关系”来描述世界的信息网络,它不仅是数据的存储方式,还可以支持推理与查询,帮助系统更好地理解、整合和利用数据。 文章目录 1. 知识表示与建模2. 知识抽取与挖掘3. 知识存储与融合4. 知识推理与检索总结 1.…...
【不看会后悔系列】排序之——文件归并【史上最全详解】~
文章目录 前言一、何为文件归并?二、文件归并思路分析三、创造多数据文件四、前置准备——堆排序五、两个文件写入到第三个文件六、读 N 个数据返回给文件,并返回读到数据的个数七、文件归并八、文件归并完整代码总结1. 运行代码2. 运行截图 总结 前言 学习了归并排…...
安全点的应用场景及其原理详解
引言 在Java虚拟机(JVM)运行的过程中,有些时刻,系统需要暂停所有正在运行的线程,以执行某些全局操作或确保数据的一致性。这些暂停线程的时刻被称为**“安全点”**(Safepoint)。尽管安全点最广…...
计算机各专业2025毕业设计选题推荐【各专业 | 最新】
计算机各专业2025毕业设计选题推荐 Java、Python、Vue、PHP、小程序、安卓、大数据、爬虫、可视化、机器学习、深度学习 文末有联系方式~~~ 1.Java 基于Java的在线购物系统设计与实现Java开发的图书管理系统基于Spring Boot的社交媒体平台Java实现的移动健康应用在线学习平…...
【Python报错已解决】IndexError: index 0 is out of bounds for axis 1 with size 0
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...
SpringGateway(网关)微服务
一.启动nacos 1.查看linux的nacos是否启动 docker ps2.查看是否安装了nacos 前面是你的版本,后面的names是你自己的,我们下面要启动的就是这里的名字。 docker ps -a3.启动nacos并查看是否启动成功 二.创建网关项目 1.创建idea的maven项目 2.向pom.x…...
jQuery面试题:(第三天)
8.你在jQuery中使用过哪些插入节点的方法,它们的区别是什么? 答:append(),appendTo(),prepend(),prependTo(),after(),insertAfter() before(),insertBefore() 内添加 1.append()在文档内添加元素 2.appendTo()把匹配的元素添加到对象里 3.prepend()…...
聊聊国内首台重大技术装备(2)
上次,介绍了《首台(套)重大技术装备推广应用指导目录(2024年版)》中介绍的硅外延炉,湿法清洗机,氧化炉,见文章: 《聊聊国内首台重大技术装备(1)》…...
金华住房和城乡建设厅网站/网络推广专员是做什么的
这个 $1 表示第一个匿名类的大小 比如你Activity里面有个new OnClickListener(){onclick},那 $ 1 就是这个OnClickListener的大小了。如果还有其他的匿名内部类,就是$2、$3这样排下去Objects表示引用对象的数量heap是实际这个类对象占用的内存大小 在此…...
武汉网站制作迈佳/免费好用的crm软件
最近购物节一波接一波,往常家里的孩子总嚷嚷着要买玩具,但这段时间却吵着要买球?到底是咋了?原来,最近有一档节目风靡全网,尤其是孩子们都成了“忠实粉丝”,收视率期期第一,它就是金…...
网络营销外包公司招聘/网站关键字排名优化
M1相二氧化钒VO2单晶薄膜 钒氧化物高质量外延单晶薄膜 钒氧化物是一种极其复杂的金属氧化物,且具有丰富的相结构,每一种相都有其独特的用途,如VO2高温R相到低温M相之间发生结构转变同时伴随着4-5量级的电阻率变化,高温下的VO2薄膜…...
网站建设基本流程包括哪几个步骤/seo网络推广优化
网站开发少不了有网站后台,有了后台自然要对用户有同角色来分配一下,特别是多用户系统的情况下,如我一个系统要有多个管理员,那么我这些管理要分成,编辑,友情连接,管理员等,那我们要…...
网站开发学哪种语言/今日最新消息新闻报道
用CSS的expression判断表达式设置input样式,简单,轻量级。缺点在于expression判断表达式FireFox是不支持的。致命的是只能区分出一个(例如例子中就只能区分出text文本框),不要试图设置多个…代码:复制代码代码如下:www.52CSS.comi…...
点击图片预览 wordpress/郑州seo网站排名
目前智能顾问已掌握大量资产,第一个以人工智能驱动的基金Rebellion曾成功预测了2008年股市崩盘,并在2009年给希腊债券F评级,而当时惠誉的评级仍然为A,通过人工智能,Rebellion比官方降级提前一个月;掌管900亿…...